Здравствуйте, у меня есть сериализатор, и я хотел бы иметь один тип поля для запросов GET и другое поле для запросов POST.
Это мои сериализаторы:
class TypeSerializer(serializers.Serializer):
id = serializers.CharField()
name = serializers.CharField(max_length=50)
colour = serializers.CharField(max_length=8)
class UserSerializer(serializers.Serializer):
id = UUIDField(format="hex_verbose")
name = serializers.CharField()
type = TypeSerializer()
Итак, ответ примерно такой:
{
"id": "987328lf-93ad-21ba-2648-h2u7b95d5cf",
"name": "name",
"type": {
"id": "RANDOM_ID",
"name": "Type 1",
"colour": "#ffffff"
}
}
Это то, что я хочу на GET, но на POST IЯ хотел бы отправить полезную нагрузку следующим образом:
{
"name": "New name",
"type": "RANDOM_ID"
}
Я получу ошибку 500, потому что тип, как ожидается, будет словарь.
Кто-нибудь знает, возможно ли иметь одно поле дляПОЛУЧИТЬ и другое поле для POST без создания другого сериализатора?