Я удивлен, обнаружив, что запрос ORDER BY DESC для FloatField в Django возвращает нулевые поля выше, чем поля с положительными значениями.
# In models.py
class City(models.Model):
name = models.CharField(max_length=30)
country = models.ForeignKey(Country)
value = models.FloatField(null=True, blank=True)
# In views.py
cities = City.objects.filter(country__id=country.id).order_by('-value')
# In template.html
{% for city in cities %}{{ city.name }}: {{ city.value }} --{% endfor %}
Я получаю следующее:
London: None -- Paris: None -- Berlin: 84.0 -- Tunis: 15.0 --
Вместо этого я хочу вернуть все записи в порядке убывания со значениями None последними (т. Е. В Берлине, Тунисе, Лондоне, Париже). Есть ли способ сделать это?