假设我有一些这样的模型:
class Country(models.Model):
name = models.TextField()
class City(models.Model):
country = models.ForeignKey(Country)
name = models.TextField()
class Person(models.Model):
city = models.ForeignKey(City)
name = models.TextField()
在Django管理页面中,如果我添加/编辑Person
实例,它会向我提供一个City
个实例的下拉列表,可供选择,如下所示:
然而,世界上的城市数量非常大。所以,我想做的是有一个等级国家 - >城市选择器,像这样:
Django有可能吗?
答案 0 :(得分:1)
这是可能的,但不是开箱即用。
在用户选择国家/地区以获取与该国家/地区相关的城市后,您必须提出并发出ajax请求。
你需要一个关于django的视图,它返回给定国家的城市格式,这种格式可以很容易地解析javascript或构建html并通过网络发送它,如果你不关心重用那个端点(也许你可以查看django的Comment
)
之后,你需要使用javascript(使用类似jquery之类的东西)来点击该视图,发送国家ID并获取相应的城市。
希望这有帮助。
答案 1 :(得分:0)
如果您创建自己的页面,默认情况下加载一个国家/地区及其状态,则可以执行此操作,然后如果您选择一个国家/地区执行ajax调用以重新填充城市,我将建议使用相同的角度js