如何修改在Django管理页面中呈现ForeignKey字段的方式,以避免浏览器崩溃?

GJ.*_*GJ. 1 crash django firefox django-admin

我有一个Customer模型,其中包含Contact模型的ForeignKey.

我的数据库中有超过100,000个联系人,当我为特定客户加载管理页面时,联系人的下拉菜单中会填充数据库中的所有联系人.最近,由于它的剪切长度,导致我的Firefox在管理页面加载时崩溃.

有没有办法:

  1. 用整数字段替换字段我可以在必要时手动修改为联系人ID
  2. 用一些不会使浏览器崩溃的替代输入方法替换下拉菜单
  3. 完全从客户管理页面中删除此输入

谢谢!

Lak*_*sad 6

你可以做任何任何的东西你想.

最简单的解决方案是从管理员中排除该字段.只需在管理类中说出来.

您可以将字段更改为文本输入,并将其显示为主键而不是项目本身,方法是将其包含在raw_id_fieldsadmin类中.

您还可以使用"自动完成文本"字段输入替换标准下拉窗口小部件.使用已实现的窗口小部件或其他等效项. - 这可能是你最喜欢的解决方案.

您还可以覆盖模型formfield_for_foreignkey上的方法,Admin以自定义在外键下拉列表中显示的查询集.您可能想要检查我的实现,以便仅显示当前用户(或子域)添加的实体.