나는 그 안에 여러 개의 행을 반환하는 쿼리 세트를 가지고 있습니다. 행 중 하나는 슬러그 "슬러그 - 456"을 가지고 있는데, 그 행이 슬러그 "슬러그 - 456"을 가진 다음 행에 어떻게 도달합니까?장고 queryset에서 다음 행을 얻는 방법?
쿼리 세트를 반복하여 현재 행에 슬러그 "slug-456"이 있는지 확인하고 다음 행이 내가 나중에 사용한다는 점에 유의해야하지만보다 효율적인 방법이 있습니까?
는 UPDATE : 나는 이런 식으로했다 : 평 < 2.6
id_list = list(qs.values_list('id', flat=True))
try:
next_id = id_list[id_list.index(obj.id) + 1]
obj = Object.objects.get(id=next_id)
except IndexError:
pass
링크를 보내 주셔서 감사합니다. 거기에서 내 대답이 마지막 비트를 섞어서 찾았습니다. – Marconi
당신을 진심으로 환영합니다. 다행이라고 생각하면 다행입니다. –
나는이 TypeError를 쳐다보고 있는데, 바로 다음 쿼리를 전달한 후에 "QuerySet 객체가 반복자가 아니다"입니다. iterator를 반환한다는 점에서 iterable이지만 QuerySet 자체는 반복자가 아닙니다. –