django admin的当前用户

Zac*_*rin 0 python django admin httprequest

我在django的管理中尝试了很多查找当前用户ID的方法.我试过通过SessionKey和request.user(HTTPRequest)拉取用户ID无济于事.我最近的化身是:

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

    super(AppAdmin, self).save()
Run Code Online (Sandbox Code Playgroud)

在admin.py和

submitter = models.ForeignKey(User, null=True, blank=True, related_name="submitter")
Run Code Online (Sandbox Code Playgroud)

在models.py中.我在堆栈溢出的其他地方发现了这个,但它似乎不起作用.任何帮助表示赞赏.

谢谢!

Yuj*_*ita 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()
Run Code Online (Sandbox Code Playgroud)