Python 如何更新';城市';基于选定的';国家';?

Python 如何更新';城市';基于选定的';国家';?,python,django,Python,Django,如何根据所选的“国家”更新“城市”下拉列表?在Django的基础上有什么东西可以促进这一点吗 class Country(models.Model): name = models.CharField(max_length=50) ... class City(models.Model): name = models.CharField(max_length=50) country = models.ForeignK

如何根据所选的“国家”更新“城市”下拉列表?在Django的基础上有什么东西可以促进这一点吗

class Country(models.Model):
    name            = models.CharField(max_length=50)
    ...

class City(models.Model):
    name         = models.CharField(max_length=50)
    country      = models.ForeignKey(Country)

class UserProfile(models.Model):
    ...
    country             = models.ForeignKey(Country, default=1)
    city                = models.ForeignKey(City, default=1)
    user                = models.OneToOneField(User)
我认为:

{{ profile_form.country }}
{{ profile_form.city }}
但所有城市都会同时显示


请提供建议。

我的答案有点长,所以我建议您可以看看这个,它正好回答了您所要找的。

我的答案有点长,所以我建议您可以看看这个,它正好回答了您所要找的。

这似乎是您可能想要在javascript中做的事情,在客户端的计算机上。您的Web服务器(运行Django的机器)在用户单击submit之前不知道用户何时在下拉菜单上进行了选择。(这会向Web服务器发出HTTP POST请求,并传递该表单的所有参数)

在javascript中,您可以注册一个函数,以便在更改“国家”下拉列表时,动态地重新填充“城市”下拉列表


希望这有帮助

这似乎是您可能希望在客户端计算机上用javascript执行的操作。您的Web服务器(运行Django的机器)在用户单击submit之前不知道用户何时在下拉菜单上进行了选择。(这会向Web服务器发出HTTP POST请求,并传递该表单的所有参数)

在javascript中,您可以注册一个函数,以便在更改“国家”下拉列表时,动态地重新填充“城市”下拉列表

希望这有帮助

使用。它包含了更新表单字段的js功能,并帮助我节省了大量使用javascript编写ajax调用的时间。示例项目包括一个与您上面提到的用例类似的用例。对你来说可能是这样的:

from smart_selects.db_fields import ChainedForeignKey 

class City(models.Model):
    name = models.CharField(max_length=50)
    country = models.ForeignKey(Country)

class UserProfile(models.Model):
    country = models.ForeignKey(Country)
    city = ChainedForeignKey(City, chained_field="country", chained_model_field="country")
从文档中:

链接字段是该字段应位于同一模型上的字段 也被锁住了。链接模型字段是链接模型的字段 与链接字段链接的模型相对应的

使用。它包含了更新表单字段的js功能,并帮助我节省了大量使用javascript编写ajax调用的时间。示例项目包括一个与您上面提到的用例类似的用例。对你来说可能是这样的:

from smart_selects.db_fields import ChainedForeignKey 

class City(models.Model):
    name = models.CharField(max_length=50)
    country = models.ForeignKey(Country)

class UserProfile(models.Model):
    country = models.ForeignKey(Country)
    city = ChainedForeignKey(City, chained_field="country", chained_model_field="country")
从文档中:

链接字段是该字段应位于同一模型上的字段 也被锁住了。链接模型字段是链接模型的字段 与链接字段链接的模型相对应的