Uri*_*lit 7 django json django-rest-framework
我有一个带有状态字段的模型,如下所示:
PENDING = 'pending'
DONE = 'done'
CANCELED = 'canceled'
class Event:
EVENT_STATUSES = [(1, PENDING), (2, DONE), (3, CANCELED)]
status = models.CharField(max_length=20, choices=EVENT_STATUSES, default=PENDING)
Run Code Online (Sandbox Code Playgroud)
我有一个序列化器:
class EventUpdateSerializer(serializers.ModelSerializer):
class Meta:
model = Event
fields = ('status')
Run Code Online (Sandbox Code Playgroud)
当使用以下 JSON 调用它时:
{
"status": "done"
}
Run Code Online (Sandbox Code Playgroud)
我得到回应:
{
"status": [
"\"done\" is not a valid choice."
]
}
Run Code Online (Sandbox Code Playgroud)
我认为问题在于逃避完成,但为什么呢?我该如何预防呢?
(我有一个内容类型 application/json 标头)。
小智 4
在这里,您将它们设置为 1,2,3,它将把 1,2,3 存储在数据库中。这就是你收到错误的原因。
您可以尝试使用 1,2,3 (这意味着您必须发送 1,2 或 3 才能使其成为有效选择)或将它们作为正确值存储在数据库/模型中
| 归档时间: |
|
| 查看次数: |
2010 次 |
| 最近记录: |