簡體   English   中英

如何獲得外鍵關聯的模型計數

[英]how to get the count of model related by foreignkey

說我有兩個模型發布和評論。 我想通過foriegnkey得到與帖子相關的評論數。 我試圖按評論順序列出帖子。 但我不知道如何得到與每篇文章相關的評論數。

class Comment(models.Model):
    post = models.ForeignKey(Post, on_delete=models.CASCADE)

class Post(models.Model):
    title = models.CharField(max_length=100)

並在views.py中

class PostListView(ListView):
    model = Post
    template_name = 'community/home.html'  # <app>/<model>_<viewtype>.html
    context_object_name = 'posts'
    paginate_by = 4
    #ordering = ['-#comment'] #how do I do this one?hmm

我想你需要這樣的東西:

post_pks = Post.objects.all().values('pk', flat=True)

post_comments = {}
for pk in post_pks:
    sorted_comments = list(Comment.objects.filter(post_id=pk).ordered_by('-pk'))
    post_comments[pk] = sorted_comments

首先,我獲取post pks並循環它們以獲取與它們相關的所有注釋。 這些注釋根據它們的pk排序,我創建了一個字典,其中包含關鍵字post pks和values注釋實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM