I have three models which are related all to one model.
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 ""
I am rendering MyParentModel in DetailView (CBV) and passing related models as a context to render individual models 'ranking' field on the same template.
Now I need to render same 'ranking' on MyParentModel ListView, but I only want to display 'ranking' which has highest value. Question is, how I can compare my related models 'ranking integer value' and display highest on MyParentModel ListView page?