Настройте 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
Другие вопросы по тегам