使用django orm来区分最高价值

时间:2014-04-11 11:38:41

标签: mysql django

我在这样的表中有记录

ID  Name            priority
1   MyString        12
2   Search          20
3   MyString        50
4   MyString        10
5   Search          7

我想获得具有最高优先级值的不同行。例如,上面的示例应该给出以下结果

ID  Name            priority
2   Search          20
3   MyString        50

我正在查看文档,发现在mysql上找不到列上的不同内容。所以我尝试执行group-by和sort(降序优先级列)。

我试过这个

model_name.objects.all().values('name','priority','id').annotate(Count('search_name')).order_by('-priority')

但我没有得到理想的结果。是否可以在单个orm查询中执行此操作。

我使用django 1.6和mysql作为我的数据库。

1 个答案:

答案 0 :(得分:0)

您是否尝试过将.distinct()方法添加到查询中? Django ORM有distinct()方法。我希望这会对你有所帮助:

https://docs.djangoproject.com/en/dev/ref/models/querysets/#distinct