diff options
Diffstat (limited to 'django')
| -rw-r--r-- | django/db/migrations/serializer.py | 22 |
1 files changed, 5 insertions, 17 deletions
diff --git a/django/db/migrations/serializer.py b/django/db/migrations/serializer.py index 50d9cacdc1..cfc2657261 100644 --- a/django/db/migrations/serializer.py +++ b/django/db/migrations/serializer.py @@ -207,23 +207,11 @@ class FunctionTypeSerializer(BaseSerializer): class FunctoolsPartialSerializer(BaseSerializer): def serialize(self): - # Serialize functools.partial() arguments - func_string, func_imports = serializer_factory(self.value.func).serialize() - args_string, args_imports = serializer_factory(self.value.args).serialize() - keywords_string, keywords_imports = serializer_factory( - self.value.keywords - ).serialize() - # Add any imports needed by arguments - imports = {"import functools", *func_imports, *args_imports, *keywords_imports} - return ( - "functools.%s(%s, *%s, **%s)" - % ( - self.value.__class__.__name__, - func_string, - args_string, - keywords_string, - ), - imports, + partial_name = self.value.__class__.__name__ + return DeconstructibleSerializer.serialize_deconstructed( + f"functools.{partial_name}", + (self.value.func, *self.value.args), + self.value.keywords, ) |
