2

我在 Django 中有以下模型,并使用智能选择:

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

class Province(models.Model):
    name = models.CharField(max_length=100)
    country = models.ForeignKey(Country)

class City(models.Model):
    name = models.CharField(max_length=100)
    country = models.ForeignKey(Country)
    province = models.ForeignKey(Province)

在固定装置中,我添加了多个国家,以及它们的省和市。

我在这个模型中使用智能选择进行链接

class WorkArea(models.Model):
    work_area = models.CharField(max_length=100)
    country = models.ForeignKey(Country)
    province =  ChainedForeignKey(Province, chained_field="country",chained_model_field="country")
    city = ChainedForeignKey(City, chained_field=province", chained_model_field="province")

现在我有这个模型:

class Project(models.Model):
    project_name = models.CharField(max_length=100)
    province = models.ForeignKey(Province)

问题:在模型Project中,我如何仅显示Provincecountry设置为 X 的省份表格模型(如果我有国家“美国”和“加拿大”,我希望该字段province仅显示“美国”的省份列表,并预先选择国家)。

4

1 回答 1

0

这是使用的解决方案limit_choices_to

class Project(models.Model):
    project_name = models.CharField(max_length=100)
    province = models.ForeignKey(Province, limit_choices_to={"country": 1})
于 2016-02-02T21:01:47.710 回答