我想获取每个 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)
我正在寻找一些像这样输出的查询集:
输出查询集:
最佳答案
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')
关于python - 注释每个用户的计数,然后按最近出现的日期排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56626883/