我有兩個在與ManyToManyField關係Django模型Django的ManyToManyField訪問相關數據
Book模型
class Book(models.Model):
title = models.TextField()
authors = models.ManyToManyField('authors.Author')
作者型號
class Author(models.Model):
name = models.CharField(max_length=200)
比方說,我的最佳方式通過運行查詢
01獲取所有書籍books = Book.objects.filter(name="some value").prefect_related('authors')
什麼是優化的方式來讓所有的作者與上述結果書有關。
什麼,我想現在是
authors = []
for book in books:
for author in book.authors.all():
authors.append(author.id)
authors = Author.objects.filter(id__in=authors).distinct()
但是這個看上去很昂貴。什麼是獲得相關作者設置的最佳途徑。
是不是book_set,而不是你使用它作爲一個字段 – 2015-04-02 13:36:33
沒有的方式,查找你總是使用字段的小寫名稱,無論它是向前還是向後。 – 2015-04-02 13:39:53