id summary reporter owner description type status component version severity resolution keywords cc stage has_patch needs_docs needs_tests needs_better_patch easy ui_ux 12239 Float is rounded to integer on queries on integer field Adrian Andreias nobody "On queries (__gte, __lte) ran on an integer field with a float value to compare, the float value gets rounded to integer and this causes invalid results. {{{ class Number(models.Model): val = models.IntegerField() # Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on win32 # Type ""help"", ""copyright"", ""credits"" or ""license"" for more information. # (InteractiveConsole) >>> n = Number(val=10) >>> n.save() >>> Number.objects.all() [] >>> Number.objects.filter(val__gte=10.1) [] >>> from django.db import connection >>> connection.queries[-1] {'time': '0.001', 'sql': 'SELECT ""t1_number"".""id"", ""t1_number"".""val"" FROM ""t1_number"" WHERE ""t1_number"".""val"" >= 10 LIMIT 21'} >>> import django >>> django.VERSION (1, 1, 1, 'final', 0) }}}" closed Database layer (models, ORM) 1.1 fixed __gte, __lte, query rounding Accepted 1 0 0 0 0 0