2017-02-05 7 views
0

У меня есть модель с полем состояния, который выглядит примерно так (убежали?):Джанго - не действительный выбор

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 header).

Благодаря вперед,

ответ

1

Здесь вы делаете их как 1,2,3 будет хранить 1,2,3 в базе данных.

вот почему вы получаете ошибку. Вы можете либо попробовать с 1,2,3, либо сохранить их как значения corect в DB/Model