Администратор сайта автоматически получает текущего пользователя - PullRequest
3 голосов
/ 21 августа 2010

Я делаю приложение для блога и хочу автоматически добавить текущего пользователя, когда я отправляю новое сообщение через сайт администратора. Можно ли как-то обнаружить текущего вошедшего в систему пользователя и добавить его в сообщение?

Это модели:

class Post(models.Model):
    user = models.ForeignKey(User)
    title = models.CharField('Title', max_length=100)
    content = models.TextField('Content')
    comments_allowed = models.BooleanField('Allow Comments', default=True)
    time = models.DateTimeField('Time', auto_now_add = True)

А в admin.py:

class PostAdmin(admin.ModelAdmin):
    fieldsets = [
        (None,               {'fields': ['title']}),
        (None,               {'fields': ['user']}),
        (None,               {'fields': ['content']}),
        (None,               {'fields': ['comments_allowed']}),
    ]
    list_display = ('title','user', 'time','comments_allowed','id',)
    list_filter = ['time']
    search_fields = ['title']
    date_hierarchy = 'time'    
admin.site.register(Post,PostAdmin)

Ответы [ 3 ]

3 голосов
/ 21 августа 2010
2 голосов
/ 27 февраля 2012
def save_model(self, request, obj, form, change):

    obj.user = request.user
    obj.save()

Я попробовал, и это сработало хорошо. и это источник

0 голосов
/ 22 августа 2010

Для обнаружения текущего зарегистрированного пользователя

http://docs.djangoproject.com/en/dev/topics/auth/

...