Django中模型两层关联外键的问题

新手上路,请多包涵

比如代码中所示,有三个表,城市,区域,房子,房子有属于的城市和所在的区域,我希望在后台录入数据的时候选择了城市可以自动生成该城市所有区域的选项。但limit_choices_to那里只有直接写死才有选项,比如写1出id为1的选项,写2出现id为2的选项,不然就没有数据。

请问有什么方法可以解决?

from django.db import models


class City(models.Model):
    name = models.CharField(max_length=10)


class Area(models.Model):
    name = models.CharField(max_length=10)
    belong_city = models.ForeignKey(City, on_delete=models.CASCADE)


class House(models.Model):
    name = models.CharField(max_length=50)
    house_belong_city = models.ForeignKey(City, on_delete=models.CASCADE)
    house_belong_area = models.ForeignKey(Area,
                                    on_delete=models.CASCADE,
                                    limit_choices_to={'belong_city': house_belong_city.primary_key})

如图

阅读 1.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题