2011-03-09 5 views
0

Я пробовал множество методов поиска текущего идентификатора пользователя в администрировании django. Я попытался вытащить идентификатор пользователя через SessionKey и request.user (HTTPRequest) безрезультатно. Моя последняя инкарнация:Текущий пользователь в django admin

def save(self, request, obj, form, change): 
    if getattr(obj, 'submitter', None) is None: 
     obj.submitter = request.user 
    obj.save() 

    super(AppAdmin, self).save() 

в admin.py и

submitter = models.ForeignKey(User, null=True, blank=True, related_name="submitter") 

в models.py. Я нашел это в другом месте при переполнении стека, но он, похоже, не работает. Любая помощь приветствуется.

Спасибо!

ответ

8

Судя по вашему сниппета, вы пытаетесь сохранить вошедшего в систему пользователя для вашей модели поля в ModelAdmin

Это выглядит, как вы имели в виду, чтобы переопределить save_model

http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.save_model

class AppAdmin(admin.ModelAdmin): 
    def save_model(self, request, obj, form, change): 
     obj.submitter = request.user # no need to check for it. 
     obj.save() 
+0

Приветствия! Это исправило это! – Zach

Смежные вопросы