Django-orm-自關聯
阿新 • • 發佈:2020-11-19
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 = "部門"