django表与表之间的关系
生活随笔
收集整理的這篇文章主要介紹了
django表与表之间的关系
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- 一對多:models.ForeignKey(其他表)
- 多對多:models.ManyToManyField(其他表)
- 一對一:models.OneToOneField(其他表)
- 一對多:當一張表中創建一行數據時,有一個單選的下拉框(可以被重復選擇)
一個學院信息表有多個學生的信息表
再比如文章和作者之間的關系。一個文章只能由一個作者編寫,但是一個作者可以寫多篇文章。文章和作者之間的關系就是典型的多對一的關系。作者和文章的關系就是一對多。
- 多對多:在某表中創建一行數據是,有一個可以多選的下拉框
不同的學生有不同課程表
再比如文章和標簽的關系。一篇文章可以有多個標簽,一個標簽可以被多個文章所引用。因此標簽和文章的關系是典型的多對多的關系。
- 一對一:在某表中創建一行數據時,有一個單選的下拉框(下拉框中的內容被用過一次就消失了)
一個學生信息表就只用一個對應的詳細信息表
再比如一個用戶表和一個用戶信息表。在實際網站中,可能需要保存用戶的許多信息,但是有些信息是不經常用的。如果把所有信息都存放到一張表中可能會影響查詢效率,因此可以把用戶的一些不常用的信息存放到另外一張表中我們叫做UserExtension。但是用戶表User和用戶信息表UserExtension就是典型的一對一了。
、
through=‘Enroll’ 就是有Enroll表才能有課程表,想下沒有學生報名還上什么課
外鍵和一對一關系的時候需要加on_delete選項,此參數為了避免兩個表里的數據不一致問題,不然會報錯!
一般使用CASCADE 表示級聯刪除
也就是有一個數據其中一個表刪了,管聊的表就會上,想下如果有個學生不讀了,刪掉了student中的數據,那是不是也要刪除在學院的報名表
總結
以上是生活随笔為你收集整理的django表与表之间的关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记录处理搜狗新闻分类
- 下一篇: django简单实现文件上传