django orm自動幫我們建立:
表一:
classbook(models.model):
name = models.charfield(max_length=32)
authors = models.manytomanyfield(to='
author
')
表二:
classauthor(models.model):
name = models.charfield(max_length=32)
這種方式可以讓django迅速的幫我們建一張關係表出來,好處是可以通過這張表進行跨表查詢,壞處是一張虛擬表,拓展性差。
存手動建立第三張表:
classbook(models.model):
name = models.charfield(max_length=32)
classauthor(models.model):
name = models.charfield(max_length=32)
classbook2author(models.model):
book = models.foreignkey(to='
book')
author = models.foreignkey(to='
author')
info = models.charfield(max_length=32)
這種方式無法通過orm跨表查詢(不要使用)
半自動建立第三張表(可拓展性高,並且能夠符合orm查詢)
classbook(models.model):
name = models.charfield(max_length=32)
authors = models.manytomanyfield(to='
author
',through='
book2author
',through_fields=('
book
','author
')) #
哪張表建立的就優先寫哪張表的小寫
classauthor(models.model):
name = models.charfield(max_length=32)
classbook2author(models.model):
book = models.foreignkey(to='
book')
author = models.foreignkey(to='
author')
info = models.charfield(max_length=32)
Django 多對多表的三種建立方式
第一種 class book models.model name models.charfield max length 32 第一種自動建立 authors models.manytomanyfield to author class author models.model name models...
Django中ORM多對多三種建立方式
一 多對多三種建立方式 1.全自動 利用orm自動幫我們建立第三張關係表class book models.model name models.charfield max length 32 authors models.manytomanyfield to author class author ...
Django多對多的建立
1.多對多建立的應用場景 在某錶中建立一行資料是,有乙個可以多選的下拉框 例如 建立使用者資訊,需要為使用者指定多個愛好 2.建立方式 方式一 自定義關係表,手動建立一張表用於關聯其他多張表的關係 class host models.model nid models.autofield primar...