自定义django的管理员以具有相关的选择字段


问题内容

我是django的新手,首先是为我的网站开发管理面板。我需要具有相关的选择字段,以便在选择国家/地区后,用户将能够选择城市。我希望当我选择国家/地区时,可以在城市选择框中加载该国家/地区选项的城市,但是我不知道如何自定义django管理员。我已经在JS中使用AJAX和PHP进行了此操作。所以我知道如何手动执行,但不知道如何在Django中使用ajax以及如何对其进行自定义。

在其他一些问题上,我读到应该阅读django文档,因此我尝试在admin文档中阅读和查找,但找不到自定义django管理面板的方法。我需要为这些选择框自定义整页吗?或者,请告诉我如何向其中添加一些jquery代码,以便可以通过JS做到这一点?


问题答案:

您可能要使用django smart selects中的分组选择功能。从自述文件:

如果您具有以下模型:

class Location(models.Model)
    continent = models.ForeignKey(Continent)
    country = models.ForeignKey(Country)

并且您希望所有国家/地区都按洲分组,并且希望在对以下内容的选择更改中使用组:

from smart_selects.db_fields import GroupedForeignKey

class Location(models.Model)
    continent = models.ForeignKey(Continent)
    country = GroupedForeignKey(Country, "continent")