Возможно, вам не удастся отрицательно проиндексировать набор запросов, но вы можете поместить этот набор запросов в список и затем индексировать его.
locations = list(Location.objects.all())
first_element = locations[0]
last_element = locations[-1]
Это ужасно неэффективно, и его следует использовать только в том случае, еслив вашей таблице небольшое количество мест, и вы хотите, чтобы код был простым.В противном случае, если есть реальная необходимость сделать это эффективным, см. Ответ @ pterk, включающий агрегаты и Мин. / Макс.