我在django中制作了2个查询集,这些查询集将过滤器和计数结合在一起,我需要找到一种方法将它们结合在一起。
模型如下:
from django.db import models
from django.contrib.auth.models import User
# Create your models here.
class Jokes(models.Model):
user_id = models.ForeignKey(User,on_delete=models.CASCADE)
text = models.TextField()
date = models.DateTimeField()
class Likes(models.Model):
user_id = models.ForeignKey(User,on_delete=models.CASCADE)
joke_id = models.ForeignKey(Jokes,on_delete=models.CASCADE)
dislike = models.BooleanField()
class Meta:
unique_together = ('user_id','joke_id',)
查询如下:
jokeLikes = Likes.objects.filter(dislike = False).select_related('joke_id')
jokeDislikes = Likes.objects.filter(dislike = True).select_related('joke_id')
countLikes = jokeLikes.values('joke_id__id','joke_id__text').annotate(Count('joke_id__id'))
countDislikes = jokeDislikes.values('joke_id__id','joke_id__text').annotate(Count('joke_id__id'))
我想要具有以下格式的输出:
笑话ID,笑话文本,NumberOfLikes,NumberOfDislikes
感谢您的帮助!