Я пытаюсь переопределить метод save_model в объекте admin Django, чтобы пользователь не мог изменять определенное поле. Однако я не могу найти способ узнать, изменилось ли поле в этом методе.
Здесь мой код:
def save_model(self, request, obj, form, change):
if change:
if obj.parking_location == form.cleaned_data['parking_location']:
super(MyVehiclesAdmin, self).save_model(request, obj, form, change)
else:
messages.error(request,
"The Parking Location field cannot be changed.")
Проблема заключается как в obj.parking_location, так и в form.cleaned_data ['parking_location'] имеют новое значение. (Может ли это быть ошибкой в Django? Кажется, что obj должен содержать значения pre-save). В любом случае, есть ли другой способ сделать это?
(Я на Django 1.2)