Django管理员通过HTML <SELECT>表单字段愉快地支持多对一和多对多关系,允许分别选择一个或多个选项.甚至还有一个很好的Javascript filter_horizontal小部件可以提供帮助.
我试图通过related_name从一对多方面做同样的事情.我不知道它与多对多有什么不同,只要在表单中显示它,我只需要一个多选SELECT列表.但我不能简单地将related_name值添加到我的 - ModelAdmin派生字段列表中.
Django是否以这种方式支持一对多字段?
我的Django模型是这样的(设计简化示例):
class Person(models.Model):
...
manager = models.ForeignKey('self', related_name='staff',
null=True, blank=True, )
Run Code Online (Sandbox Code Playgroud)
在人员管理页面中,我可以轻松获得一个<SELECT>列表,显示所有可能的员工从中选择此人的经理.我还想显示所有经理员工的多选<SELECT>列表.
我不想使用内联,因为我不想编辑下属的细节; 我确实希望能够从列表中添加/删除人员.
(我正在尝试使用django-ajax-choices来替换SELECT小部件,但这是旁边的.)