自关联模型
自关联模型就是表中的某一列,关联了这个表的另外一列。最典型的自关联模型就是地区表。省市县都在一张表里面。省的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”