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
類?我需要告訴管理員顯示它們嗎?如果是這樣,怎麼樣?
讓我們看看_editors的代碼。也許它不會回報任何東西。或者看看這個問題的一些其他方式來做到這一點:http://stackoverflow.com/questions/232435/how-do-i-restrict-foreign-keys-choices-to-related-objects-only-in-django –
糟糕,這是我在第二塊中運行的代碼。它返回一個對象。 –
發佈您的admin.py,_editors。開始拿走一塊去調試。刪除'limit_choices_to':會發生什麼?如果表格出現,我們現在知道它與限制選擇有關。雖然我期望一個空的選擇,而不是完全消失的領域。從ModelAdmin中刪除件(甚至不要使用'ModelAdmin' ..只是直接註冊'admin.site.register(MyModel)' - 看看會發生什麼。如果沒有任何'ModelAdmin'定製,它就不會出現,這意味着它是與字段定義本身有關......等等。 –