【发布时间】:2022-08-04 20:29:37
【问题描述】:
我有三个模型都与一个模型相关。
class MyModelParent(models.Model):
name = models.CharField(max_lenght=36, blank=True)
def __str__(self):
return self.name or \"\"
class MyFirstModel(models.Model):
mymodelparent = models.ForeignKey(MyModelParent, related_name=\"first_models\", blank=True, Null=True, on_delete=models.CASCADE
ranking = models.IntegerField(max_lenght=36, blank=True)
def __str__(self):
return self.name or \"\"
class MySecondModel(models.Model):
mymodelparent = models.ForeignKey(MyModelParent, related_name=\"second_models\", blank=True, Null=True, on_delete=models.CASCADE
ranking = models.IntegerField(max_lenght=36, blank=True)
def __str__(self):
return self.name or \"\"
class MyThirdModel(models.Model):
mymodelparent = models.ForeignKey(MyModelParent, related_name=\"third_models\", blank=True, Null=True, on_delete=models.CASCADE
ranking = models.IntegerField(max_lenght=36, blank=True)
def __str__(self):
return self.ranking or \"\"
我在 DetailView (CBV) 中渲染 MyParentModel 并将相关模型作为上下文传递以在同一模板上渲染单个模型“ranking”字段。
现在我需要在 MyParentModel ListView 上呈现相同的 \'ranking\',但我只想显示具有最高值的 \'ranking\'。 问题是,我如何比较我的相关模型“排名整数值”并在 MyParentModel ListView 页面上显示最高?
标签: python django django-models django-queryset django-annotate