У меня есть три связанные модели со связью полей «многие ко многим».
Я понятия не имею, как обновить все экземпляры одновременно.
Я хотел бы создать три отдельных сериализатора, которые могли бы обновлять три экземпляра.
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
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как перебрать все уровни массива объектов, вложенных в массив объектов в свойстве объекта?
Anonymous » » в форуме Php - 0 Ответы
- 35 Просмотры
-
Последнее сообщение Anonymous
-