1多對多的關係,三種寫法
2 -手動建立第三張表(不建立關聯關係)
3class
book(models.model):4#
缺省會建立id
5 name = models.charfield(max_length=32)
6class
author(models.model):
7 name = models.charfield(max_length=32)
8class
book2author(models.model):
9 id = models.autofield(primary_key=true)
10 book=models.foreignkey(to='
book
',to_field='id'
)11 author=models.foreignkey(to='
author
',to_field='id'
)12 -不管是插入和查詢,刪除,都很麻煩(一般不用)
13 -自動建立第三張表
14 -查詢,插入,刪除,都很方便
15 -缺點:欄位是固定的,第三張表如果要新增字段,實現不了
16 -手動建立第三張表,建立關聯關係
17class
book(models.model):18#
缺省會建立id
19 name = models.charfield(max_length=32)20#
中介模型,手動指定第三張中間表是book2author
21 authors=models.manytomanyfield(to='
author
',through='
book2author
',through_fields=('
book
','author'))
22class
author(models.model):
23 name = models.charfield(max_length=32)
24def
__str__
(self):
25return
self.name
26class
book2author(models.model):
27 id = models.autofield(primary_key=true)
28 book=models.foreignkey(to='
book
',to_field='id'
)29 author=models.foreignkey(to='
author
',to_field='id'
)3031 -through:來指定我的第三張表是哪個
32 -through_fields:('
book
','author
'),第乙個值是:從中間表找到設定關聯欄位的表,通過哪個字段,第乙個位置就寫它
33 -終極總結:防止混了:關聯字段就是表名小寫,第乙個值:就是當前表的表名小寫
34 -查詢,新增,刪除,都很方便
35 -第三張表,可以新增別的字段
django自定義第三張表
當我們遇到多對多關係時,我們就立馬會想到建立第三張表來維護多對多的關係,比如,角色使用者許可權等 我們都知道對於django中manytomany欄位,django會自動為我們建立第三張表,預設情況下,django會如何給我們生成第三張表呢?請看 classuser models.model nam...
三張表聯合查詢
部門表 deptcode 部門編號,deptname 部門名稱 員工表 humancode 員工編號,humanname 員工姓名,deptcode 部門編號 考核表 resultcode 結果編號,humancode 人員編號,kpicode 考核結果 分 不合格,合格,優秀 1.統計各部門合格的...
對第三張卡片中的功能實現要點和注意的細節!
1 li ng repeat bid list in bid lists style height 42px ng tap bid sign up detail bid list.name 2 header create page id bid 競價報名 span 人 解析 1 create pag...