2010-12-31 2 views
1

Мне нужно изменить порядок запросов Django, потому что я хочу поставить None values at the bottom of an ORDER BY DESC query on a FloatField.Django: скопируйте и обработайте QuerySet?

К сожалению, я изо всех сил стараюсь найти элегантный способ манипулирования набором запросов Django. Вот то, что я до сих пор:

cities = City.objects.filter(country__id=country.id).order_by('value') 
if cities.count() > 1: 
    cities_sorted = cities 
    del manors_sorted[:] 
    for city in cities: 
     cities_sorted += city 
     # Add code to 
     cities = cities_sorted 

В настоящее время это не удается с 'QuerySet' object does not support item deletion.

Любая идея, как я могу скопировать и переупорядочить этот QuerySet, чтобы поставить None элементов в последний раз?

ответ

2

Запрос будет оцениваться в списке, если вы, например. по телефону list() на нем:

cities_sorted = list(cities)