Вот что я недавно сделал для блога:
class BlogPostAdmin(admin.ModelAdmin):
form = BlogPostForm
def get_form(self, request, **kwargs):
form = super(BlogPostAdmin, self).get_form(request, **kwargs)
form.current_user = request.user
return form
Теперь я могу получить доступ к текущему пользователю в моем forms.ModelForm
, набрав self.current_user
РЕДАКТИРОВАТЬ: Это старый ответ, и, глядя на него недавно, я понял, что метод get_form
должен быть изменен так:
def get_form(self, request, *args, **kwargs):
form = super(BlogPostAdmin, self).get_form(request, *args, **kwargs)
form.current_user = request.user
return form
(обратите внимание на добавление *args
)