2015-01-07 85 views
0

我有一個django模型NewsItem,它有幾個字段,包括日期,文本和外鍵字段。一個外鍵字段是:添加項目到Django管理對象創建表格

editor = models.ForeignKey(User, verbose_name="Editor", related_name='editors', 
          limit_choices_to=_editors) 

出於某種原因,外鍵字段不會在「添加項目」的形式在Django管理界面顯示出來(在http://[hostname]/admin/[app name]/newsitem/add/然而,所有其他的領域做。因爲編輯器是一個必填字段我無法保存任何項目

我有檢查,以確保不存在滿足約束用戶:

>>> User.objects.filter(groups__name__iexact='editors') 
[<User: testeditor>] 

我找不到任何理由,這些領域不會顯示在管理員中,我是否需要指定一個小部件爲他們在NewsItemAdmin類?我需要告訴管理員顯示它們嗎?如果是這樣,怎麼樣?

+1

讓我們看看_editors的代碼。也許它不會回報任何東西。或者看看這個問題的一些其他方式來做到這一點:http://stackoverflow.com/questions/232435/how-do-i-restrict-foreign-keys-choices-to-related-objects-only-in-django –

+0

糟糕,這是我在第二塊中運行的代碼。它返回一個對象。 –

+0

發佈您的admin.py,_editors。開始拿走一塊去調試。刪除'limit_choices_to':會發生什麼?如果表格出現,我們現在知道它與限制選擇有關。雖然我期望一個空的選擇,而不是完全消失的領域。從ModelAdmin中刪除件(甚至不要使用'ModelAdmin' ..只是直接註冊'admin.site.register(MyModel)' - 看看會發生什麼。如果沒有任何'ModelAdmin'定製,它就不會出現,這意味着它是與字段定義本身有關......等等。 –

回答

0

您應該確保您創建此用戶的用戶具有更改編輯器的權限。 [facepalm]

相關問題