У меня есть объект публикации, доступ к которому можно получить на веб-сайте или в панели администратора. В обоих случаях пользователю автоматически присваивается сообщение, когда пользователь отправляет его. В области веб-сайта он отлично работает. Однако он не работает в области администрирования. Во-первых, я попробовал просто ввести форму. Когда я пытаюсь сохранить объект и оставить его пустым, он сообщает мне, что форма не имеет значения. Затем, пытаясь увидеть, если я просто помещаю случайное значение и вижу, что он был перезаписан, я сделал это. Однако это случайное значение не было перезаписано текущим пользователем. Если я исключил поле, когда я попытаюсь сохранить модель, я получаю ошибку Integrity, говоря, что автор поля «не может быть NULL», поэтому я предполагаю, что моя функция save_model() не срабатывает вообще. Теперь код, который я использую для этого, я видел по всему Интернету, и люди утверждают, что он работает, я не знаю, было ли это просто сломан сейчас или что. Вот мой код:Получить текущего пользователя в Django admin
from django.contrib import admin
from posting.models import Posting, Categories
class PostingAdmin(admin.ModelAdmin):
list_display = ("title","author", "article","date")
exclude = ('author',)
fieldsets = (
(None, {
'fields': ('title',)
}),
('Body', {
'fields': ('article',)
}),
)
def save_model(self,request,form,obj,change):
print 'ENTERING SAVE_MODEL FUNCTION'
if not change:
obj.author = request.user
print 'OBJ.AUTHOR:' + str(obj.author)
obj.save()
print "EXITING SAVE_MODEL FUNCTION"
admin.site.register(Posting, PostingAdmin)