у которой есть jsonfield
Сейчас при обновлении его внутри, он перезаписывается полностью.
Это нужно сделать в сериализаторе, реализовав метод update в нем кастомный?
да
тогда надо скопировать какой то, чтобы за основу взять. можно взять по идее из drf.serializers.
я имел в виду, что мне же за основу нужно взять метод update из drf какой то, чтобы его модифицировать?
def update(self, instance, validated_data): raise_errors_on_nested_writes('update', self, validated_data) info = model_meta.get_field_info(instance) # Simply set each attribute on the instance, and then save it. # Note that unlike .create() we don't need to treat many-to-many # relationships as being a special case. During updates we already # have an instance pk for the relationships to be associated with. m2m_fields = [] for attr, value in validated_data.items(): if attr in info.relations and info.relations[attr].to_many: m2m_fields.append((attr, value)) else: setattr(instance, attr, value) instance.save() # Note that many-to-many fields are set after updating instance. # Setting m2m fields triggers signals which could potentially change # updated instance and we do not want it to collide with .update() for attr, value in m2m_fields: field = getattr(instance, attr) field.set(value) return instance вот этот идет как основной?
Обсуждают сегодня