Python 向django管理对象创建表单添加项

Python 向django管理对象创建表单添加项,python,django,django-admin,Python,Django,Django Admin,我有一个django模型NewsItem,它有几个字段,包括日期、文本和外键字段。一个外键字段是: editor = models.ForeignKey(User, verbose_name="Editor", related_name='editors', limit_choices_to=_editors) 出于某种原因,外键字段不会显示在django管理界面http://[hostname]/admin/[app name]/new

我有一个django模型NewsItem,它有几个字段,包括日期、文本和外键字段。一个外键字段是:

editor = models.ForeignKey(User, verbose_name="Editor", related_name='editors', 
                           limit_choices_to=_editors)
出于某种原因,外键字段不会显示在django管理界面http://[hostname]/admin/[app name]/newsitem/add/的add-an-item表单中。但是,所有其他字段都有。我无法保存任何项目,因为编辑器是必填字段

我已检查以确保有用户满足约束:

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

我找不到任何理由,这些领域不会出现在管理。我需要在NewsItemAdmin类中为它们指定一个小部件吗?我需要告诉管理员显示它们吗?如果是,如何更改?

您应该确保创建此文件的用户具有更改编辑器的权限。[facepalm]

让我们看看您的编辑器代码。也许它不会返回任何东西。或者看看这个问题,看看其他的方法:哦,这是我在第二块中运行的代码。它返回一个对象。发布你的admin.py,\u编辑器。开始将碎片取出进行调试。删除限制选项:发生了什么?如果表单出现,我们现在知道它与限制选择有关。虽然我期望一个空的select,而不是一个完全消失的字段。从ModelAdmin中删除部分,甚至不要使用ModelAdmin。。直接注册admin.site.registerMyModel-看看会发生什么。如果在没有任何ModelAdmin自定义的情况下它没有出现,则表示它与字段定义本身有关。。等等