2017-01-25 27 views
-1

複数のオブジェクトを参照する外部キーフィールドを作成する方法がありますが、それ以外の方法はありません。私は著者が複数の本を参照して、1人の著者を参照する複数の書籍ではないことを望みます。私は多対多のフィールドを作成することができますが、それは私にとって無駄に思えます。Django真の多対多でない多対多

+1

これは、1対多であり、作成者の関係を指定します。 – Sayse

答えて

1

反対ですか。

class Author(models.Model): 

    ... 

class Book(models.Model): 
    author = models.ForeignKey('Author', related_name='books') 

今、あなたは、このように著者によって書かれた本を入手することができます。

author_object.books.all() 

あなたにこの非常に著者のすべての書籍のQuerySetを与えます。

EDIT:

一冊の本と著者の複数の著者があるかもしれません場合は、複数の本を書くことができ、その後、models.ManyToManyFieldが正しい方法です。

+0

ありがとう、それは私が必要とするものです。私はdocumentationのrelated_nameを見落としました。 – Adogyf