Сохранение текущего пользователя при сохранении модели в бэкенде администрирования Django

Я хочу хранить данные о пользователе, который впервые сохранил модель, в одном из полей этой модели. Вот что у меня есть.

models.py:

from django.conf import settings
class Project(models.Model):
[...]
    added_by = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, blank=True, on_delete=models.PROTECT)

    def save_model(self, request, obj, form, change):
        if not obj.pk:
            obj.added_by = request.user
        super().save_model(request, obj, form, change)

settings.py:

AUTH_USER_MODEL = 'auth.User'

В request.user, похоже, всегда пусто (я вхожу в /admin как root). Что я упускаю?

Это не относится к модели, а к ModelAdmin:

from django.contrib import admin


@admin.register(ModelAdmin)
class ProjectAdmin(admin.ModelAdmin):
    # …

    def save_model(self, request, obj, form, change):
        if obj._state.adding:
            obj.added_by = request.user
        return super().save_model(request, obj, form, change)
Вернуться на верх