这是该问题的后续版本:How to store a variable history in django?
为简化我的问题,假设我有一个简单的Gamer可以跟踪用户设置和数据,还有一个特定的UserScore模型可以跟踪(time, score)
的元组。
class GamerExperience(BasicModelProperties):
gamer = models.ForeignKey('Gamer', on_delete=models.CASCADE, related_name='experience_history')
time = models.DateTimeField()
experience = models.BigIntegerField()
我想按最高(最新分数)对数据库中的每个Gamer进行排序。请注意,我的Gamer模型具有使用self.experience_history.order_by("-time").first().experience
但是,使用sorted确实很慢,我敢肯定还有另一种方法可以实现:)
答案 0 :(得分:0)
您尝试过Meta类吗?
class GamerExperience(BasicModelProperties):
gamer = models.ForeignKey('Gamer', on_delete=models.CASCADE, related_name='experience_history')
time = models.DateTimeField()
experience = models.BigIntegerField()
class Meta:
ordering = ['-gamer.score']