Django 多對多表的三種建立方式

2022-09-01 06:54:11 字數 1323 閱讀 6964

第一種:

class

book(models.model):

name = models.charfield(max_length=32)

#第一種自動建立

authors = models.manytomanyfield(to='

author')

class

author(models.model):

name = models.charfield(max_length=32)

第二種:

class

book2(models.model):

name = models.charfield(max_length=32)

class

author2(models.model):

name = models.charfield(max_length=32)

#手動建立第三張表

class

book2author(models.model):

book = models.foreignkey(to='

book2')

author = models.foreignkey(to='

author2

')

第二種方法好處是可以新增字段,缺點是orm不可以使用了

第三種方式:

class

book3(models.model):

name = models.charfield(max_length=32)

author = models.manytomanyfield(to='

author3

',through='

book3author

',through_fields=('

book

','author'))

class

author3(models.model):

name = models.charfield(max_length=32)

class

book3author(models.model):

book = models.foreignkey(to='

book3')

author = models.foreignkey(to='

author3')

info = models.charfield(max_length=32)

可擴充套件性高,並且能夠支援orm 的查詢

Django多對多表的三種建立方式

django orm自動幫我們建立 表一 class book models.model name models.charfield max length 32 authors models.manytomanyfield to author 表二 class author models.model...

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...