我希望根据一组对象时间戳来排序查询集。
这是一个简化的示例:
Class Device(models.Model:
status = models.CharField(max_length=50)
class Event(models.Model):
timestamp = models.DateTimeField(auto_now_add=True)
device = models.ForeignKey(Device)
我想获取设备的最新事件,以便我可以根据该事件订购设备查询集。
最佳答案
您可以使用注释来获取设备事件的最新时间戳,然后按该注释字段按降序排序
from django.db.models import Max
Device.objects.annotate(
most_recent=Max('event_set__timestamp')
).order_by('-most_recent')
关于python - Django Query 根据最新外键时间戳获取对象并对它们进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44397530/