我有一个“跟踪模型”,这些跟踪在不同图表(图表类型)中的每周排名
class Track(models.Model):
id = models.CharField('Unique ID', max_length=100, primary_key=True)
title = models.CharField('Track title', max_length=100)
...
class Rank(models.Model):
id = models.AutoField(primary_key=True)
trackid = models.ForeignKey(Track, related_name='rank')
pos = models.PositiveIntegerField("Position", blank=True, null=True)
charttype= models.CharField(max_length=10, choices=CHARTTYPE)
...
我首先查询特定的图表类型:
track_list_top100 = Track.objects.filter(rank__charttype='total')
之后,我想用该特定图表类型的该轨道的最高位置注释此QuerySet:
track_list_top100 = track_list_top100.annotate(highestpos=Min('rank__pos'))
但是我得到的是所有图表组合的最高位置。换句话说,我在第一个查询filter(rank__charttype='total')
中设置的过滤器未在注释中使用。
任何想法如何做到这一点?预先感谢。
答案 0 :(得分:0)
在Django ::ng-deep tbody tr.ng2-smart-row.selected
{ background:lightblue !important; border:1px solid blue;}
中,这可以通过
>= 2.0
有关更多信息,请阅读文档https://docs.djangoproject.com/en/2.0/topics/db/aggregation/#filtering-on-annotations