qs1 = QueryModel.objects.all().order_by('?')
obj1 = QueryModel.objects.get(pk=123)
def order_stuff(queryset, obj)
return print(#obj_order_from_queryset)
order_stuff(qs1, obj1) >>> some ordering number
如何知道某个查询集上某个对象的顺序?
例如,如果queryset类似于:
print(qs1) >>> {'pk': 1}, {'pk': 3}, {'pk': 4}, {'pk': 123} ...
因此:
order_stuff(qs1, obj1) >>> 4
如果queryset类似于:
print(qs1) >>> {'pk': 123}, {'pk': 3}, {'pk': 4}, {'pk': 13} ...
因此:
order_stuff(qs1, obj1) >>> 1
如果queryset类似于:
print(qs1) >>> {'pk': 13}, {'pk': 123}, {'pk': 4}, {'pk': 13} ...
因此:
order_stuff(qs1, obj1) >>> 2
该怎么做?