當前位置:成語大全網 - 書法字典 - Django,壹個模型可以定義多少個表?

Django,壹個模型可以定義多少個表?

首先,機主用的django是什麽版本?姜戈似乎從未見過外國模式。根據ORM,外鍵實際上是sql中的外鍵。我個人理解樓主的問題是壹個字段是否可以對應多個其他表,如下:

類WhatAreYouTryToAsk:

filed_XXX =模型。foreign key((ModelA,ModelB,))

這不科學,親愛的。對於sql,壹個字段不能對應多個外鍵。實現這種效果的唯壹方法是擁有壹個ModelA、ModelB的中間表,並且filed的外鍵與該中間表相對應。

類中間表(模型。型號):

model_a =模型。外鍵(ModelA)

model_b =模型。外鍵(模式b)

類WhatAreYouTryToAsk:

filed_XXX =模型。外鍵(中間表)

簡單來說,ModelA和ModelB之間是多對多的關系。上述方法是通過顯示來指示中間表。Django中的ManyToMany可以實時使用。ManyToMany實際上會構建壹個中間表,因此您可以在ModelA或ModelB中創建壹個ManyToMany字段。關於ManyToMany的具體用法,請參考文檔。

模型類(模型。型號):

model _ bs = ManyToMany(ModelB)

類WhatAreYouTryToAsk:

filed_XXX =模型。外鍵(ModelA)

#或者這個,具體實現看需求。

# filed_XXX =模型。外鍵(模式b)