Django - 不是一个有效的选择(逃脱?)

时间:2017-02-05 07:15:53

标签: json django 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)

我有一个序列化器:

class EventUpdateSerializer(serializers.ModelSerializer):

    class Meta:
        model = Event
        fields = ('status')

使用以下JSON调用时:

{
    "status": "done"
}

我收到回复:

{
  "status": [
    "\"done\" is not a valid choice."
  ]
}

显然(我认为),问题在于逃避完成,但为什么呢?我该如何预防?

(我有一个内容类型的应用程序/ json标题)。

非常感谢,

1 个答案:

答案 0 :(得分:0)

在这里,您将它们设为1,2,3,它将1,2,3存储在数据库中。

这就是你收到错误的原因。您可以尝试1,2,3或将它们存储为DB / Model

中的corect值