2
我有两种模式,书籍和作者。每个作者都有很多书,每本书有许多作家,所以我成立了作者与书之间的多对多关系,如下所示:Django多对一/一对多关系
class Author(models.Model):
books = models.ManyToManyField(Book, related_name='authors')
class Book(models.Model):
# some fields
我有一定的警示标识方便,我需要每本书的对象与关联相关作者,所以我(假设我对所有这些对象得心应手ID):
author = Author.objects.get(pk=id)
book = Book.objects.get(pk=book_id)
author.books.add(book)
logger.debug(author.book_set.all())
我得到的错误:
AttributeError: 'Book' object has no attribute 'author_set'.
我下面从Django的DOCUME惯例ntation在这里,但它似乎并不适合我: https://docs.djangoproject.com/en/1.8/topics/db/examples/many_to_many/
有人可以解释为什么我可能会遇到此错误?
将相关名称设置为'books'意味着您将使用'book.books.all()'获取书籍的作者。我不确定这真的很有意义。 –
@JoeyWilhelm我误解了这个问题,现在我已经修复了。 – Alasdair