Opened 10 years ago
Closed 10 years ago
#26346 closed Bug (duplicate)
Error in makemigrations while changing DateTimeField default value from timezone aware datetime to naive datetime.now()
| Reported by: | shahzebiam | Owned by: | nobody |
|---|---|---|---|
| Component: | Migrations | Version: | 1.8 |
| Severity: | Normal | Keywords: | migrations, datetimefield migration, makemigrations, default date |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
I have a DateTimeField in a model in models.py which i have given a default value of django.utils.timezone.now(). When i changed the default value to datetime.datetime.now() and ran the makemigrations command, it gave me an error in autodetector.py
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 354, in execute_from_command_line
utility.execute()
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 346, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Python27\lib\site-packages\django\core\management\base.py", line 394, in run_from_argv
self.execute(*args, **cmd_options)
File "C:\Python27\lib\site-packages\django\core\management\base.py", line 445, in execute
output = self.handle(*args, **options)
File "C:\Python27\lib\site-packages\django\core\management\commands\makemigrations.py", line 125, in handle
migration_name=self.migration_name,
File "C:\Python27\lib\site-packages\django\db\migrations\autodetector.py", line 43, in changes
changes = self._detect_changes(convert_apps, graph)
File "C:\Python27\lib\site-packages\django\db\migrations\autodetector.py", line 186, in _detect_changes
self.generate_altered_fields()
File "C:\Python27\lib\site-packages\django\db\migrations\autodetector.py", line 850, in generate_altered_fields
if old_field_dec != new_field_dec:
TypeError: can't compare offset-naive and offset-aware datetimes
as far as i know it is trying to compare a timezone aware date with a simple datetime which will not be possible for datetime objects.
Note:
See TracTickets
for help on using tickets.
Duplicate of #24822