【发布时间】:2015-01-07 00:36:07
【问题描述】:
我有一个 django 模型,NewsItem,它有几个字段,包括日期、文本和外键字段。一个外键字段是:
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 代码。也许它没有返回任何东西。或查看此问题以了解其他一些方法:stackoverflow.com/questions/232435/…
-
糟糕,这是我在第二个块中运行的代码。它返回一个对象。
-
发布您的 admin.py,_editors。开始取件进行调试。删除
limit_choices_to:会发生什么?如果表格出现,我们现在知道它与限制选择有关。虽然我希望一个空的选择,而不是一个完全消失的字段。从 ModelAdmin 中删除部分(甚至不要使用ModelAdmin.. 直接注册admin.site.register(MyModel)- 看看会发生什么。如果没有任何ModelAdmin自定义它不会出现,则意味着它与字段定义有关本身..等等。
标签: python django django-admin