Как использовать django Serializer для обновления поля в базе данных

Я создаю отчет Model, который имеет поле report state

Мне нужен сериализатор, который при создании пользователем отчета автоматически меняет состояние отчета на ожидающий или что-то еще. и когда пользователь редактирует тело отчета и сохраняет его, то автоматически устанавливает состояние на Edited или ...

Вероятно, вы хотите, чтобы ваше поле "state" было доступно только для чтения в сериализаторе, таким образом, его можно будет изменить только программно, а в модели установить значение по умолчанию с помощью default='pending'.
Тогда вы можете переопределить метод update в сериализаторе (см. документ здесь):

def update(self, instance, validated_data):
        validated_data['state'] = 'edited'
        return super(MySerializer, self).update(instance, validated_data)
Вернуться на верх