我想获取每个user_from
的未读邮件数,这些邮件按来自她/他的最后一封邮件的日期排序。
class Chat(models.Model):
user_from = models.ForeignKey(settings.AUTH_USER_MODEL)
user_to = models.ForeignKey(settings.AUTH_USER_MODEL)
is_read = models.BooleanField(default=False)
added_on = models.DateTimeField(auto_now_add=True)
message = models.CharField(max_length=255)
我正在寻找一些这样的查询集输出:
输出查询集:
答案 0 :(得分:1)
from django.db.models import Count, Max
query_set = Chat.objects.values('user_from').annotate(unread_count=Count('user_from')).filter(is_read=False).annotate(last_time=Max('added_on')).order_by('-last_time')