#29738: Django can't serialize DateTimeTZRange(lower=None, upper=None, bounds='[)') -------------------------------------+------------------------------------- Reporter: grahammayer | Owner: nobody Type: Bug | Status: new Component: contrib.postgres | Version: 2.0 Severity: Normal | Resolution: Keywords: rangefield | Triage Stage: Accepted postgresql psycopg2 migrations | removed | Has patch: 0 | Needs documentation: 1 Needs tests: 1 | Patch needs improvement: 0 Easy pickings: 1 | UI/UX: 0 -------------------------------------+------------------------------------- Description changed by Nick Pope:
Old description: > Tried to use DateTimeTZRange(lower=None, upper=None, bounds='[)') as a > default for a model field and get the following error when running > 'python manage.py makemigrations': > > {{{ > Traceback (most recent call last): > File "manage.py", line 12, in <module> > execute_from_command_line(sys.argv) > File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- > packages/django/core/management/__init__.py", line 371, in > execute_from_command_line > utility.execute() > File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- > packages/django/core/management/__init__.py", line 365, in execute > self.fetch_command(subcommand).run_from_argv(self.argv) > File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- > packages/django/core/management/base.py", line 288, in run_from_argv > self.execute(*args, **cmd_options) > File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- > packages/django/core/management/base.py", line 335, in execute > output = self.handle(*args, **options) > File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- > packages/django/core/management/commands/makemigrations.py", line 172, in > handle > self.write_migration_files(changes) > File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- > packages/django/core/management/commands/makemigrations.py", line 210, in > write_migration_files > migration_string = writer.as_string() > File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- > packages/django/db/migrations/writer.py", line 151, in as_string > operation_string, operation_imports = > OperationWriter(operation).serialize() > File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- > packages/django/db/migrations/writer.py", line 110, in serialize > _write(arg_name, arg_value) > File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- > packages/django/db/migrations/writer.py", line 74, in _write > arg_string, arg_imports = MigrationWriter.serialize(_arg_value) > File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- > packages/django/db/migrations/writer.py", line 279, in serialize > return serializer_factory(value).serialize() > File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- > packages/django/db/migrations/serializer.py", line 203, in serialize > return self.serialize_deconstructed(path, args, kwargs) > File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- > packages/django/db/migrations/serializer.py", line 90, in > serialize_deconstructed > arg_string, arg_imports = serializer_factory(arg).serialize() > File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- > packages/django/db/migrations/serializer.py", line 370, in > serializer_factory > "topics/migrations/#migration-serializing" % (value, > get_docs_version()) > ValueError: Cannot serialize: DateTimeTZRange(None, None, '[)') > }}} New description: Tried to use {{{DateTimeTZRange(lower=None, upper=None, bounds='[)')}}} as a default for a model field and get the following error when running {{{python manage.py makemigrations}}}: {{{ Traceback (most recent call last): File "manage.py", line 12, in <module> execute_from_command_line(sys.argv) File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- packages/django/core/management/__init__.py", line 371, in execute_from_command_line utility.execute() File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- packages/django/core/management/__init__.py", line 365, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- packages/django/core/management/base.py", line 288, in run_from_argv self.execute(*args, **cmd_options) File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- packages/django/core/management/base.py", line 335, in execute output = self.handle(*args, **options) File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- packages/django/core/management/commands/makemigrations.py", line 172, in handle self.write_migration_files(changes) File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- packages/django/core/management/commands/makemigrations.py", line 210, in write_migration_files migration_string = writer.as_string() File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- packages/django/db/migrations/writer.py", line 151, in as_string operation_string, operation_imports = OperationWriter(operation).serialize() File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- packages/django/db/migrations/writer.py", line 110, in serialize _write(arg_name, arg_value) File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- packages/django/db/migrations/writer.py", line 74, in _write arg_string, arg_imports = MigrationWriter.serialize(_arg_value) File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- packages/django/db/migrations/writer.py", line 279, in serialize return serializer_factory(value).serialize() File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- packages/django/db/migrations/serializer.py", line 203, in serialize return self.serialize_deconstructed(path, args, kwargs) File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- packages/django/db/migrations/serializer.py", line 90, in serialize_deconstructed arg_string, arg_imports = serializer_factory(arg).serialize() File "/home/grahammayer/logimeter/logimeter/lib/python3.6/site- packages/django/db/migrations/serializer.py", line 370, in serializer_factory "topics/migrations/#migration-serializing" % (value, get_docs_version()) ValueError: Cannot serialize: DateTimeTZRange(None, None, '[)') }}} -- -- Ticket URL: <https://code.djangoproject.com/ticket/29738#comment:4> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/069.f3700e8c5f5bdb7c9d6fef6c13c31016%40djangoproject.com. For more options, visit https://groups.google.com/d/optout.