Настройте admin.py
Я использую мезонин + картридж для создания приложения для корзины покупок. Я хочу вызывать функцию настройки всякий раз, когда администратор меняет статус заказа с необработанного на обработанный.
Функция настройки может включать отправку почты, добавить номер отслеживания заказа. и т.п.
Но я не знаю, как вызывать эту функцию только при изменении одного поля и где это вызывать: admin.py ИЛИ models.py
Пожалуйста, дайте мне подсказку о том, где я это сделал, и он вызывает только при изменении одного поля в базе данных.
1 ответ
Решение
models.py
:
class MyModel(models.Model):
...
def save(self):
super(DocumentTemplate, self).save(*args, **kwargs)
# retrieve the old version of the object
try:
old = DocumentTemplate.objects.get(id=self.id)
except MyModel.DoesNotExist:
# object is being created
customize_function_create(self)
# check if something has changed
if self.interesting_field != old.interesting_field:
# the field has been changed
customize_function_update(self)
return