Я использую djangorestframework 3.7.7
У меня есть модель «Предмет», в которой нет поля «Владелец».
Сериализатор модели изделия выглядит примерно так:
class ItemSerializer(serializers.ModelSerializer):
id = serializers.CharField(required=False, max_length=1000, allow_null=True)
owner = serializers.SerializerMethodField()
class Meta:
model = Item
fields = [
'id',
'owner'
]
def get_owner(self, item):
return item.package.owner if item.package else None
При сериализации с использованием:
ser_item = ItemSerializer(item)
Я получаю поле owner
в ser_item.data
Но при десериализации, используя:
serializer = ItemSerializer(data=ser_item)
serializer.is_valid(raise_exception=True)
obj = Item(**serializer.validated_data)
obj
не содержит поля owner
.
Кажется, он даже не проходит через сериализатор (при отладке).
Есть идеи, как я могу десериализовать, чтобы эти поля, которые не являются частью модели, были частью нового экземпляра?