当前用户在Django管理员

当前用户在Django管理员

问题描述:

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

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

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

谢谢!

从你的代码段的长相,你正试图在当前登录用户保存到模型字段在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 2011-03-09 20:14:24