[英]Django count foreign key through relation
我正在構建一個簡單的論壇應用程序,我需要一些幫助,通過關系計算外鍵對象。
假設我的模型看起來像這樣:
class Forum(models.Model):
title = models.CharField(max_length=255)
description = models.TextField()
slug = models.SlugField(unique=True, blank=True)
class Thread(models.Model):
title = models.CharField(max_length=255)
forum = models.ForeignKey(to=Forum, related_name='threads')
slug = models.SlugField(unique=True, blank=True)
class Post(models.Model):
body = models.TextField()
author = models.ForeignKey(User)
thread = models.ForeignKey(to=Thread,related_name='posts')
現在我們創建forum
對象。
forum = Forum.objects.get(slug=forum)
我們可以像這樣計算論壇里面的線程數: forum.threads.count()
我的問題是,如何計算論壇中的所有帖子?
我嘗試過像all_posts = forum.thredas.posts.count()
這樣的東西,但正如預期的那樣它沒有用。
謝謝!
通常在Django中,一個很好的原則是,當你想對模型做某事時,你應該從該模型開始查詢。 所以,既然你需要計算帖子,你應該從Post模型開始。
從那里,您可以使用雙下划線語法過濾到您想要的特定論壇。
forum_posts = Post.objects.filter(thread__forum=my_forum)
forum_post_count = forum_posts.count()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.