Я хочу сериализовать список во время обновления, например, вызов патча для обновления ниже профиля пользователя с помощью «кухни»
Получить вызов
**http://localhost:8000/api/v1/chef/rayees/details**
{
"user": {
"pk": 2,
"username": "rayees",
"email": "rayees.xxxx@yahoo.co.in",
"first_name": "Rayees",
"last_name": "xxxx",
"user_type": "Chef"
},
"first_name": "Rayees",
"last_name": "xxx",
"bio": "TEST BIO",
"chef_cost": "10.00",
"serve_type": "Non-Veg",
"cuisine": [
"South Indian",
"North Indian"
]
}
Вот мой класс сериализатора, я Подумайте, что "serializers.SerializerMethodField ()" только для чтения, а "кухня" не обновляется во время операции исправления. Если вы хотите сериализовать get и patch, что мне делать здесь
class ChefProfileDetails(serializers.ModelSerializer):
chef_date = AvailabilityDetails(many=True, read_only=True)
first_name = serializers.CharField(source='user.first_name', read_only=True)
last_name = serializers.CharField(source='user.last_name', read_only=True)
cities = CitySerializer(many=True, read_only=True)
cuisine = serializers.SerializerMethodField()
user = UserDetailsSerializer(read_only=True)
class Meta:
model = Chef
fields = ('user', 'first_name', 'last_name',
'bio', 'chef_cost', 'serve_type', 'cuisine', 'chef_date', 'cities')
def get_cuisine(self, obj):
cuisine_list = []
for i in obj.cuisine.all():
cuisine_list.append(i.cuisine)
return cuisine_list