Loading django/db/backends/__init__.py +3 −0 Original line number Diff line number Diff line Loading @@ -599,6 +599,9 @@ class BaseDatabaseFeatures(object): # to remove any ordering? requires_explicit_null_ordering_when_grouping = False # Does the backend order NULL values as largest or smallest? nulls_order_largest = False # Is there a 1000 item limit on query parameters? supports_1000_query_parameters = True Loading django/db/backends/postgresql_psycopg2/base.py +1 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ class DatabaseFeatures(BaseDatabaseFeatures): can_distinct_on_fields = True can_rollback_ddl = True supports_combined_alters = True nulls_order_largest = True class DatabaseWrapper(BaseDatabaseWrapper): Loading tests/queries/models.py +4 −0 Original line number Diff line number Diff line Loading @@ -262,9 +262,13 @@ class ReservedName(models.Model): return self.name # A simpler shared-foreign-key setup that can expose some problems. @python_2_unicode_compatible class SharedConnection(models.Model): data = models.CharField(max_length=10) def __str__(self): return self.data class PointerA(models.Model): connection = models.ForeignKey(SharedConnection) Loading tests/queries/tests.py +6 −2 Original line number Diff line number Diff line Loading @@ -2984,7 +2984,11 @@ class Ticket14056Tests(TestCase): s2 = SharedConnection.objects.create(data='s2') s3 = SharedConnection.objects.create(data='s3') PointerA.objects.create(connection=s2) expected_ordering = ( [s1, s3, s2] if connection.features.nulls_order_largest else [s2, s1, s3] ) self.assertQuerysetEqual( SharedConnection.objects.order_by('pointera__connection', 'pk'), [s1, s3, s2], lambda x: x SharedConnection.objects.order_by('-pointera__connection', 'pk'), expected_ordering, lambda x: x ) Loading
django/db/backends/__init__.py +3 −0 Original line number Diff line number Diff line Loading @@ -599,6 +599,9 @@ class BaseDatabaseFeatures(object): # to remove any ordering? requires_explicit_null_ordering_when_grouping = False # Does the backend order NULL values as largest or smallest? nulls_order_largest = False # Is there a 1000 item limit on query parameters? supports_1000_query_parameters = True Loading
django/db/backends/postgresql_psycopg2/base.py +1 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ class DatabaseFeatures(BaseDatabaseFeatures): can_distinct_on_fields = True can_rollback_ddl = True supports_combined_alters = True nulls_order_largest = True class DatabaseWrapper(BaseDatabaseWrapper): Loading
tests/queries/models.py +4 −0 Original line number Diff line number Diff line Loading @@ -262,9 +262,13 @@ class ReservedName(models.Model): return self.name # A simpler shared-foreign-key setup that can expose some problems. @python_2_unicode_compatible class SharedConnection(models.Model): data = models.CharField(max_length=10) def __str__(self): return self.data class PointerA(models.Model): connection = models.ForeignKey(SharedConnection) Loading
tests/queries/tests.py +6 −2 Original line number Diff line number Diff line Loading @@ -2984,7 +2984,11 @@ class Ticket14056Tests(TestCase): s2 = SharedConnection.objects.create(data='s2') s3 = SharedConnection.objects.create(data='s3') PointerA.objects.create(connection=s2) expected_ordering = ( [s1, s3, s2] if connection.features.nulls_order_largest else [s2, s1, s3] ) self.assertQuerysetEqual( SharedConnection.objects.order_by('pointera__connection', 'pk'), [s1, s3, s2], lambda x: x SharedConnection.objects.order_by('-pointera__connection', 'pk'), expected_ordering, lambda x: x )