的ManyToManyField對象我的代碼如下所示:Django的:獲取與最低組查詢
models.py
class Tag(models.Model):
name = models.CharField(max_length=42)
class Post(models.Model):
user = models.ForeignKey(User, related_name='post')
#...various fields...
tags = models.ManyToManyField(Tag, null=True)
views.py
posts = Post.objects.all().values('id', 'user', 'title')
tags_dict = {}
for post in posts: # Iteration? Why?
p = Post.objects.get(pk=[post['id']]) # one extra query? Why?
tags_dict[post['id']] = p.tags.all()
我應該如何創建與標籤字典每個Post對象具有最少的查詢集合?是否有可能避免迭代?
謝謝,那太棒了。它像一個魅力!請您在查找時間將「標籤」更改爲「標籤」。 :-) – xpanta
感謝您指出。我已將其重命名爲「Tag」。不用謝。 –