Refs #27869 -- Omitted field kwargs from GinIndex.deconstruct() if they're None.

This commit is contained in:
Mads Jensen 2017-08-26 16:32:03 +02:00 committed by Tim Graham
parent fb42d02471
commit e016c4c65b
2 changed files with 11 additions and 2 deletions

View File

@ -42,8 +42,10 @@ class GinIndex(Index):
def deconstruct(self): def deconstruct(self):
path, args, kwargs = super().deconstruct() path, args, kwargs = super().deconstruct()
kwargs['fastupdate'] = self.fastupdate if self.fastupdate is not None:
kwargs['gin_pending_list_limit'] = self.gin_pending_list_limit kwargs['fastupdate'] = self.fastupdate
if self.gin_pending_list_limit is not None:
kwargs['gin_pending_list_limit'] = self.gin_pending_list_limit
return path, args, kwargs return path, args, kwargs
def create_sql(self, model, schema_editor, using=''): def create_sql(self, model, schema_editor, using=''):

View File

@ -84,6 +84,13 @@ class GinIndexTests(PostgreSQLTestCase):
} }
) )
def test_deconstruct_no_args(self):
index = GinIndex(fields=['title'], name='test_title_gin')
path, args, kwargs = index.deconstruct()
self.assertEqual(path, 'django.contrib.postgres.indexes.GinIndex')
self.assertEqual(args, ())
self.assertEqual(kwargs, {'fields': ['title'], 'name': 'test_title_gin'})
class SchemaTests(PostgreSQLTestCase): class SchemaTests(PostgreSQLTestCase):