У меня есть сериализатор
serializer.py
class VendorManagementUpdateSerializer(serializers.ModelSerializer):
...
parent = serializers.PrimaryKeyRelatedField(queryset=Vendors.objects.all(), required=False, allow_null=True)
...
class Meta:
model = Vendors
fields = (...,
....,
'parent',
)
depth = 1
class VendorToFrontSerializer(serializers.ModelSerializer):
class Meta:
model = Vendors
fields = ('pk', 'vendor_name')
Но данные ответа после запроса PUT возвращают только поля id
. И мне нужно получить все поля из сериализатора VendorToFrontSerializer
('pk', 'vendor_name') Разве это не то, для чего используется глубина?
Я знаю, что могу используйте этот тип сериализатора
parent = VendorToFrontSerializer()
Но проблема в том, что я использую part_update, и когда я отправляю это поле в запрос PUT
{
"parent":123
}
, я получаю
{
"parent": {
"non_field_errors": [
"Invalid data. Expected a dictionary, but got int."
]
}
}
Как мне правильно это сделать?