【发布时间】:2012-04-12 23:08:41
【问题描述】:
我有这种情况: 我有模型项目、地区和国家。
class Item(models.Model):
name = models.CharField(max_length=255)
alias = models.SlugField(unique=True)
country = models.OneToOneField(Country, default=0)
region = models.OneToOneField(Region, default=0, related_name='')
class Region(models.Model):
name = models.CharField(max_length=100)
country = models.ForeignKey(Country, default=0)
class Country(models.Model):
name = models.CharField(max_length=100)
当我在管理区域中添加项目并选择国家/地区时,我想自动构建区域,仅从选定的 Country 中选择 Regions。
我知道如何在 javascript 中做到这一点,但我不知道在 Django 中做到这一点有多正确。
【问题讨论】:
-
您需要使用 ajax 来执行此操作:当第一个选择的值(国家/地区)发生变化时,对该国家/地区的所有区域执行 ajax 请求,并使用这些值过滤第二个选择。
-
我知道,但我还有另一个问题 - 如何在 Django 上正确操作。我可以在管理区域的模板中插入 javascript 代码并生成另一个选择。 $('#select1').change(function(){ $,ajax({ }) })
-
有一些 django 包如code.google.com/p/django-ajax-filtered-fields 和github.com/twidi/django-ajax-select 你可以试试这些
-
还有django-smart-selects看起来不错
-
我遵循了这个问题中描述的内容,但我不确定我是否完成了所有必要的步骤:为了从一个地区快速选择一个国家,我是否还需要添加一些 javascript 代码?
标签: django django-admin