我想知道是否可以执行自定义查询集过滤器
类似
史蒂夫,苹果玛丽,苹果
丹,苹果 史蒂夫,橘子 迈克,橘子玛丽,橘子
迈克,梨子
所以主要的顺序是水果名称 但如果有一些人用相同的水果,特定的用户(在这种情况下是史蒂夫)将始终是第一。
并且也很明显,所以只有每一束水果中的第一个出现。
史蒂夫,苹果 史蒂夫,橘子迈克,梨子
我尝试过自定义管理器,它似乎覆盖了我正常的Model.objects.functions
我尝试了一个原始的sql和extra,但是它返回了列表而不是查询集(我相信),那些没有查询集的东西 方法,在以后的代码中调用。
答案 0 :(得分:0)
您无法指定哪个用户可以在第一条记录上,因为数据库只能按特定条件对整个记录进行排序。你最多可以这样做:
Model.objects.all().order_by('fruit', 'name')
这可以为您提供一个查询集,该查询集首先按水果排序,然后按名称排序在每个水果排序中,但在一个查询集中,您永远不能将某人的名称放在顶部。