Python 对包含多对多字段的对象进行排序,这些字段需要在Django中预先排序
我有以下两种型号:Python 对包含多对多字段的对象进行排序,这些字段需要在Django中预先排序,python,django,django-models,Python,Django,Django Models,我有以下两种型号: class Message(models.Model): content = models.TextField() timestamp = models.DateTimeField(auto_now_add=True) class Chat(models.Model): title = models.CharField(max_length=255) messages = models.ManyToManyField('Message')
class Message(models.Model):
content = models.TextField()
timestamp = models.DateTimeField(auto_now_add=True)
class Chat(models.Model):
title = models.CharField(max_length=255)
messages = models.ManyToManyField('Message')
如何按每次聊天中的最后一条发送消息对聊天进行排序?您可以按相关
消息的最后(最大)时间戳对聊天对象进行排序,方法是:
from django.db.models import Max
Chat.objects.annotate(
last_message=Max('messages__timestamp')
).order_by('-last_message')
从django.db.models导入最大值
Chat.objects.annotate(
last_message=Max('messages__timestamp')
).order_by(“-最后一条消息”)