2

我正在尝试制作一个可以将另一个模型列表作为属性的 django 模型

def author:
    name = charfield...
    list_of_books = ______________

def book:
    name = charfield...

我希望作者能够列出他写过的书。我想知道如何将一本书添加到作者的书籍列表中。

我见过foreignKey,但似乎它只能容纳一个对象。

4

1 回答 1

1

在另一个方向使用 ForeignKey。book 应该包含一个用于作者的 ForeignKey,默认情况下,author 将包含成员 book_set,该成员具有与该作者关联的所有书籍的列表。

如果您打算让一本书能够拥有多个作者,ManyToManyField 会更合适。

要查看特定作者的所有书籍,您需要使用 author.book_set.all()

此页面包含一个使用书籍、作者和出版商的数据库示例,其中作者和书籍之间的关系表示为 ManyToManyField。

于 2013-08-24T05:16:55.887 回答