Я хочу иметь следующее поведение:
# GET Request
{
"id": 1,
"name": "test",
"created_date": "date",
"completed_date": "date",
"template": { "name" : "test" }, => nested serializers with only the field "name"
"status": 1,
"results": [ { __all__ }, ... ], => nested serializers with all the fields
"groups": [ { "name" }, ... ], => nested serializers with only the field "name"
}
# POST Request
{
"name": "test",
"template": {"name":"test"}, => nested serializers with only the field "name"
"groups": [ {"name":"test"} ], => nested serializers with only the field "name"
}
Как вы можете видеть, запрос на публикацию не имеет всей информации, которая отображается.Я знаю, что некоторые поля можно удалить с помощью переменной read_only_fields
.Но проблема здесь больше связана с вложенными сериализаторами.У меня проблемы с проверкой данных ... Эта проблема связана с этой проблемой: Динамические вложенные сериализаторы: пустые validated_data
Мне было интересно, если использовать динамические сериализаторы и с комбинацией read_only_fields
было хорошим обслуживаемым и читаемым решением: https://www.django -rest-framework.org / api-guide / serializers / # dynamic-modifying-fields
Или я должен использовать следующее решение: Использовать другой сериализатор для запроса и ответа
PS: я также нашел этот пост, который похож на то, что я пытаюсь сделать: Django Rest Framework: вложенные поля динамической модели Serializer
Еще раз спасибо!
С уважением,