2014-08-27 65 views
0

我正在开发一个Django项目,用户将数据输入到CharFields中,但为了组织数据,每个用户的帖子都标有自己的用户名。但是,目前,用户必须通过注册用户列表来查找他们的用户名。你可以想象这是不方便的。有什么办法可以让用户字段自动确定哪个用户当前登录并填写该用户的用户名?在Django中用当前登录用户自动填充ForeignKey(用户)

这里是我的models.py文件:

class Post(models.Model): 
    Post = models.CharField(max_length=7, unique=True) 
    user = models.ForeignKey(User) 

这里是我的相应的admin.py:

admin.site.register(StockTickerSymbol) 

有什么办法,我可以设置ForeignKey的(用户)位为默认到当前登录的用户?谢谢。

回答

1

只需添加类似这样的东西,你的管理员

class YourAdmin(admin.ModelAdmin): 
    def formfield_for_foreignkey(self, db_field, request, **kwargs):     
     if db_field.name == 'user': kwargs['queryset'] = User.objects.filter(user=request.user) 
+0

我把它添加到我的admins.py文件。但是我得到这个错误:''WSGIRequest'对象没有属性'User'' – ng150716 2014-08-28 19:57:59

+0

这可能解决这个问题吗? http://stackoverflow.com/questions/9579729/troubleshooting-wsgirequest-object-has-no-attribute-user – user2473168 2014-08-29 00:16:03