Django orm self 自关联表

自关联模型

自关联模型就是表中的某一列,关联了这个表的另外一列。最典型的自关联模型就是地区表。省市县都在一张表里面。省的pid为null,市的pid为省的pid,县的pid为市的ID。

class Area(models.Model):
    name = models.CharField(max_length=20,verbose_name="名称")
    parent = models.ForeignKey("self",verbose_name="上级行政区划")

    class Meta:
        db_table = "db"
        verbose_name = "行政区划"

那怎么查询了

如果知道一个市交a市,想查它属于什么省

a = Area.objects.get(id=1)

# b就是a市的身份对象

b = a.parent

如果知道一个省,叫a省,相查他有什么市

# b就是a省的全部市的对象

b = a.area_set.all() #类名小写+“set”

猜你喜欢

转载自www.cnblogs.com/tangda/p/12090669.html