Возможно ли иметь создателя и апдейтера отдельно в админке Django? - PullRequest
0 голосов
/ 24 сентября 2018

В моей Store модели у меня есть атрибут author, поэтому я могу указать, кто написал и обновил магазин.Однако хотелось бы, чтобы кто создавал, а кто обновлялся отдельно.Я думаю, мне нужно узнать, кто создал в моих save_model в admin.py.

Есть ли способ получить создателя и обновителя отдельно в админке Django?

моделей.py

class Store(models.Model):
    ...
    author = ForeignKey(settings.AUTH_USER_MODEL, editable=False,
                        related_name='promotions_of_author', null=True, blank=True)

admin.py

class StoreAdmin(SummernoteModelAdmin):
    ...
    def save_model(self, request, obj, form, change):
        if getattr(obj, 'author', None) is None:
            obj.author = request.user
        obj.save()

1 Ответ

0 голосов
/ 25 сентября 2018

У вас есть два отдельных поля в модели, чтобы отслеживать, кто обновил и создал ее?

Я обычно сохраняю два поля, чтобы отслеживать это. В этом случае у вас может быть что-то вроде этого:

    class StoreAdmin(SummernoteModelAdmin):

        def save_model(self, request, obj, form, change):
            # adding the entry for the first time
            if not change:
                obj.created_by = request.user

            # updating already existing record
            else:
                obj.updated_by = request.user

            obj.save()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...