У меня есть три связанные модели со связью полей «многие ко многим».
Я понятия не имею, как обновить все экземпляры одновременно.
Я хотел бы создать три отдельных сериализатора, которые могли бы обновлять три экземпляра.
class PlannedChargePriceSerializer(serializers.ModelSerializer):
class Meta:
model = ChargePrice
fields = ['id', 'start', 'end', 'price']
class PlannedChargeSerializer(serializers.ModelSerializer):
prices = PlannedChargePriceSerializer(many=True)
class Meta:
model = Charge
fields = ['id', 'type', 'qtd', 'status', 'prices']
class PlannedSerializer(serializers.ModelSerializer):
charges = PlannedChargeSerializer(many=True)
class Meta:
model = Planned
fields = '__all__'
read_only_fields = ['id', 'date', 'charges']
def create(self, validated_data):
charges_data = validated_data.pop('charges')
planned = Planned.objects.create(**validated_data)
for charge_data in charges_data:
charge_prices_data = charge_data.pop('prices')
charge = Charge.objects.create(planned=planned, **charge_data)
for charge_price_data in charge_prices_data:
ChargePrice.objects.create(charge=charge, **charge_price_data)
return planned
def update(self, instance, validated_data):
# No idea how update multiple nested objects
return instance
Подробнее здесь: https://stackoverflow.com/questions/790 ... cts-in-drf
Обновление нескольких вложенных объектов в DRF ⇐ Python
Программы на Python
-
Anonymous
1728189444
Anonymous
У меня есть три связанные модели со связью полей «многие ко многим».
Я понятия не имею, как обновить все экземпляры одновременно.
Я хотел бы создать три отдельных сериализатора, которые могли бы обновлять три экземпляра.
class PlannedChargePriceSerializer(serializers.ModelSerializer):
class Meta:
model = ChargePrice
fields = ['id', 'start', 'end', 'price']
class PlannedChargeSerializer(serializers.ModelSerializer):
prices = PlannedChargePriceSerializer(many=True)
class Meta:
model = Charge
fields = ['id', 'type', 'qtd', 'status', 'prices']
class PlannedSerializer(serializers.ModelSerializer):
charges = PlannedChargeSerializer(many=True)
class Meta:
model = Planned
fields = '__all__'
read_only_fields = ['id', 'date', 'charges']
def create(self, validated_data):
charges_data = validated_data.pop('charges')
planned = Planned.objects.create(**validated_data)
for charge_data in charges_data:
charge_prices_data = charge_data.pop('prices')
charge = Charge.objects.create(planned=planned, **charge_data)
for charge_price_data in charge_prices_data:
ChargePrice.objects.create(charge=charge, **charge_price_data)
return planned
def update(self, instance, validated_data):
# No idea how update multiple nested objects
return instance
Подробнее здесь: [url]https://stackoverflow.com/questions/79048779/updating-multiple-nested-objects-in-drf[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия