2014-08-27 62 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