Opened 4 years ago

Last modified 4 years ago

#32147 closed Bug

timezone error when casting a naive date in a Daylight Saving Time Change — at Initial Version

Reported by: Clara Owned by: nobody
Component: Utilities Version: 3.1
Severity: Normal Keywords: timezone
Cc: Aymeric Augustin Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

When you use a model with datetime with a timezone active and naive data as input, it raise the follow error:

File "<basepath>/lib/python3.7/site-packages/pytz/tzinfo.py", line 234, in localize
    raise AmbiguousTimeError(dt)
pytz.exceptions.AmbiguousTimeError: 2020-10-25 02:00:01

The steps to reproduce are:

  1. Use a model with datetime: In this example, we are going to create a user model that extends AbstractUser, but you could use any model with a datetime field
class User(AbstractUser):
    class Meta:
        db_table = 'my_user'

    created_at = models.DateTimeField(default=timezone.now)
    updated_at = models.DateTimeField(auto_now=True)
    last_password_change = models.DateTimeField(null=True)
  1. Create an object with a string naive date:
    User.objects.create(
        email = "test@amail.it",
        username = "user_25",
        created_at = "2020-10-25 02:00:01"
    )
  • The timezone settings are:

TIME_ZONE = 'Europe/Rome'
USE_TZ = True

Database configuration has not timezone set

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top