【发布时间】:2015-11-15 09:37:34
【问题描述】:
我想在给定主键的查询集中查找相邻项,正如here 所询问的那样。但是我希望这适用于任何给定的查询集,我还没有为自己设置排序。如何找到 __gt 和 __lt 过滤的查询集的当前顺序?
例如:
queryset = MyModel.objects.all().order_by('some_field')
next_obj = get_next(queryset, after_pk, 10)
...
def get_next(queryset, pk, n):
#ordering is unknown here
obj = queryset.get(pk=pk)
field = queryset.get_order_by_field_name() #???
return queryset.filter(**{field+'__gt': getattr(obj, field)})[:n]
【问题讨论】:
标签: django django-queryset django-orm