我有两个在与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