Как использовать 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)