在我的模型中,Person可以拥有多个合作伙伴,因此ManyToMany模型是唯一的答案(由于其他原因,这必须是ManyToMany,所以请不要考虑更改它)。
如果我使用默认小部件,我会得到一个包含所选人员的列表,两个人可能是三人(这是人员的合作伙伴)。 如果Person列表大约是10-100,那就没问题了 - 它适用于测试数据库。但是我的prod数据库有10,000个或更多人,因此ModelMultipleChoice小部件将填充10.000条记录,找到正确的合作伙伴将持续很长时间,并且内存使用量并不是微不足道的。
我只需要查看合作伙伴的名字,这些合作伙伴可能会将其取消,也可能会添加新的输入名称。最好的解决方案是在键入三个或四个首字母后显示带有过滤名称的列表框,但任何解决方案都会很棒。
使用表单会更容易,但我需要在管理员中,所以我想使用django管理员标准。