【发布时间】:2021-04-19 22:13:55
【问题描述】:
第一个 Python 用户,来自 Javascript 世界。我能够从 Django API 检索我序列化为 JSON 的模型,并将其显示在用 React 编写的前端。但是现在我只是在有多个选择的模型中添加了一个字段priority,我很难将这些选择带到前端(我想在下拉列表中显示它们并更新 REST API)。迁移成功,我可以从后端选择选项,但在前端我只是从迁移中获取默认值。这是我现在的代码:
models.py
class Todo(models.Model):
title = models.CharField(max_length=120)
description = models.TextField()
completed = models.BooleanField(default=False)
priority_choices = [
('High', 'High'),
('Medium', 'Medium'),
('Low', 'Low'),
]
priority= models.CharField(max_length=6, choices=priority_choices, default='Low') #new field
def __str__(self):
return self.title
序列化器.py
from rest_framework import serializers
from .models import Todo
class TodoSerializer(serializers.ModelSerializer):
class Meta:
model = Todo
fields = ('id', 'title', 'description', 'completed', 'priority')
views.py
class TodoView(viewsets.ModelViewSet):
serializer_class = TodoSerializer
queryset = Todo.objects.all()
我只想要最简单的解决方案,最好只更新 serializers.py 中的 TodoSerializer(serializers.ModelSerializer) 类,以便它全部来自这个模型。那可能吗?阅读https://www.django-rest-framework.org/api-guide/fields/#choicefield 对我来说并不清楚我是否需要为同一个模型创建一个新类来检索 ChoiceFields,或者是否可以从一个类中完成所有操作,但无论我尝试什么,都会出现语法错误。就像我说的,我对 Python 很陌生。谢谢。
【问题讨论】:
标签: python django django-rest-framework