多くの-な方法を作成するには、3つの方法
1.自動(推奨*)
利点:あなたは手動で第三のテーブルを作成する必要はありません
不十分:3番目のテーブルが固定であることを意味し、フィールドの拡張を行うことはできません手動で作成したよりも、第三のテーブルとして、
クラスブック(models.Model): タイトル = models.CharField(max_lengthを= 32 ) 価格 = models.DecimalField(max_digits = 8、decimal_places = 2 ) 著者(=へ= models.ManyToManyField ' 著者' ) クラスの著者(models.Model ): 名前 = models.CharField(MAX_LENGTH = 32)
2.ピュアマニュアル(理解します)
自分の第三のテーブルを作成します。
長所:任意のサード拡張フィールドすることができます
不十分:ORMクエリは便利ではありません
クラスブック(models.Model): タイトル = models.CharField(max_lengthを= 32 ) 価格 = models.DecimalField(max_digits = 8、decimal_places = 2 ) クラスの著者(models.Model): 名前 = models.CharField(max_lengthを= 32 ) クラスBook2Author(models.Model): ブック = models.ForeignKey(=に' ブック' ) の著者(=へ= models.ForeignKey ' 著者' ) CREATE_TIME = models.DateField(auto_now_add =真)
3.半自動(推奨*******)
長所:自動と2つの純粋なマニュアルの利点を組み合わせました
クラスブック(models.Model): タイトル = models.CharField(MAX_LENGTH = 32 ) 。価格 = models.DecimalField(。= max_digits 8、= 2 decimal_places ) 著者 = models.ManyToManyField(=に' 著者'、=通じ' Book2Authorは'、 = through_fields(「ブック」、「著者」)) #冊までは、多くの関係のDjangoのORMと作者の表はにBook2Authorによって記録され伝える #中古本フィールドBook2AuthorテーブルORMレコードとの関係をDjangoの教えthrough_fields著者フィールドが記録する 「「」 で多くの分野に多くを 追加します。 SETを 削除 明確な不支持 ""」 クラスの著者(models.Model): 名前 = models.CharField(max_lengthを= 32 ) #1 = 'Book2Author'を介し= '帳'への図書= models.ManyToManyField(、、through_fields =( '著者'、 'ブック')) クラスBook2Author(models.Model): ブック = models.ForeignKey(=に' ブック' ) の著者 = models.ForeignKey(=に' 著者' ) CREATE_TIME = models.DateField(auto_now_add =真)