Как автоматически изменить значение объекта модели django при открытии страницы элемента редактирования / изменения? - PullRequest
1 голос
/ 14 марта 2019

Как автоматически изменить значение объекта модели django, когда открывается / щелкается страница модели «редактировать / изменять», а не сохраняется кнопка? В основном это нужно для отслеживания прочитанных и непрочитанных элементов данных. Так же, как отслеживание прочитанного / непрочитанного сообщения электронной почты. Я знаю, как реализовать это, когда кнопка «Сохранить» нажата в админке django, и в настоящее время я делаю это вручную, но я хочу автоматически изменять конкретное значение только при нажатии на ссылку «изменить / редактировать», чтобы я мог отслеживать вновь созданные заказы , Как показано на скриншотах ниже, я хочу, чтобы логическое значение «read» [второе изображение] автоматически изменялось при нажатии «id 26» [первое изображение]

list view

glimpse of admin page

1 Ответ

1 голос
/ 14 марта 2019

Один из способов добиться этого - переопределить render_change_form() в вашем классе OrderAdmin и установить логическое значение для read в точке, в которой отображается форма.

Например:

class OrderAdmin(admin.ModelAdmin):

    ...

    def render_change_form(self, request, context, add=False, change=False, form_url='', obj=None):
        if obj is not None:
            obj.read = True
            obj.save()
        return super().render_change_form(request, context, add=add, change=change, form_url=form_url, obj=obj)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...