Django-orm-自关联

Django-orm-自关联

拓展博客:https://www.cnblogs.com/Kingfan1993/p/9936541.html

https://www.cnblogs.com/tangda/p/12090669.html

数据库展示:

(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)

什么是自关联?

  • 表内自关联是指表内数据相关联的对象和表是相同字段,这样我们就直接用表内关联将外键关联设置成自身表的字段。同样表内关联也分一对多字段和多对多字段

(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)

最典型的自关联模型就是地区表。省市县都在一张表里面。省的pid为null,市的pid为省的pid,县的pid为市的ID。我们今天的例子是部门表,和地区表同理·····

自关联主要靠数据库中自关联表的第一列from 和 第二列to 定义主从。

(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)

model.py

from django.db import models

class Sections(models.Model):
    section = models.CharField(max_length=20, verbose_name='部门')
    # 自关联部门表
    two_section = models.ForeignKey(to='self', null=True, on_delete=models.CASCADE)

    # pcomment = models.ForeignKey(to='self', null=True)
    class Meta:
        db_table = 'tb_section'
        verbose_name = "部门"

原文地址:https://www.cnblogs.com/tjw-bk/p/14007996.html