Я работаю над Django Серверной частью Rest Framework для интерфейса React, и у меня есть сценарий, в котором у модели, с которой я работаю, есть ряд полей выбора, настроенных на стороне Django. Используя те же ключевые значения, я построил поля на стороне React, такие как 'm', 'Male'. У меня проблема в том, что я могу создать новую запись и отправить эти значения ключа (например, «m»), но когда я вызываю API, чтобы получить все записи и отобразить их на веб-странице, я хочу увидеть полные значения, поступающие из API. непосредственно. Я знаю о методе get_foo_display, и я использовал его на Serializer, и он работал для получения результатов, но затем сломал метод создания (post) с ошибкой ниже:
Получил TypeError
, когда звонит Person.objects.create()
. Это может быть связано с тем, что в классе сериализатора имеется доступное для записи поле, которое не является допустимым аргументом Person.objects.create()
. Вам может потребоваться сделать это поле доступным только для чтения или переопределить метод PersonSerializer.create () для правильной обработки.
Существует ли простой способ охватить оба сценария ios: 1. При создании записей отправляйте значения ключей, связанные со значениями выбора. 2. При получении результирующих наборов методом GET показывайте полное значение полей.
Используется ниже строки, которая прервала метод POST:
status = serializers.CharField(source='get_status_display', required=False, allow_null=True)