對於乙個初學者,當看到django中models使用多對一時,一臉的mb!
q:為什麼要有一對
一、多對
一、多對多的模型?
a:乙個系統中經常會有文章、資料等的對應關係,比如:乙個賬戶只有乙個使用者名稱(乙個賬戶對應這個使用者名稱,這個使用者名稱就是指這個賬戶)、乙個作者發布了多個blog(知道這個作者可以找到他的blog,看到任何乙個blog就知道是這個作者)、乙個作者可以寫多個blog,有些blog還需要多個作者一起完成。前言結束!!!
#models.py
from django.db import models
class
author
(models.model):
name = models.charfield(max_length=30)
def__unicode__
(self):
return self.name
class
blog
(models.model):
name = models.charfield(max_length=30)
entry = models.foreignkey(author)
def__unicode__
(self):
return self.name
1、建立好多對一的關係模型之後,需要使用資料同步動作建立資料庫
2、建立好資料庫之後,可以向資料庫中填充資料
3、填充資料的時候就會自動對該資料進行關聯
4、有了資料之後,就可以使用「author」查詢其關聯的「blog」,也可以查詢「blog」知道「author」是誰
後續:多對多關係模型
django 模型生成sql(多對多)
模型如下 class publisher models.model name models.charfield max length 30 address models.charfield max length 50 city models.charfield max length 60 state...
django模型多對一 多對多 一對一三種關係解讀
作用 設計的好,會清晰,且易於理解,後續開發也事半功倍,易於維護。基本原則 1.一對一的表,兩表的屬性實際上完全可以合併成乙個表,共用乙個主鍵即可 2.一對多的表,可以設中間關聯表,也可以將關聯表併入 多 這頭 若設獨立關聯表,則可引入 多 這頭的主鍵作為其主鍵,也可另立主鍵並將 一 和 多 兩表的...
Django多對多操作
模型 from django.db import models 老師 class teacher models.model name models.charfield max length 32 學生 class student models.model name models.charfield ...