Ich bin überrascht zu finden, dass eine Abfrage ORDER BY DESC auf einem FloatField in Django Nullfelder höher als Felder mit positiven Werten zurückgibt.Django: ORDER BY DESC auf FloatField setzt Nullwerte oben?
# 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 %}
ich wieder folgendes:
London: None -- Paris: None -- Berlin: 84.0 -- Tunis: 15.0 --
Stattdessen möchte ich in absteigender Reihenfolge alle Einträge zurück, mit der None letzten Werte (das heißt Berlin, Tunis, London, Paris). Irgendeine Möglichkeit, dies zu tun?
Vielleicht hilft das folgende Q/A: http://stackoverflow.com/questions/7749216/django-order-by-date-but-have-none-at-end – OBu