sql >> Databasteknik >  >> RDS >> Mysql

Korrumperar Django tidszonsmedvetet DateTimeField när det sparas i databasen?

import pytz, datetime
from django.db.models import Max, F, Func
from django.conf import settings
from myapp.models import myModel

local_tz = pytz.timezone(settings.TIME_ZONE)

local_datetime = local_tz.localize(datetime.datetime(2037, 4, 8, 20, 14, 17), is_dst=None)
utc_datetime = local_datetime.astimezone(pytz.UTC)
# datetime.datetime(2037, 4, 9, 0, 14, 17, tzinfo=<UTC>)

MyModel.objects.create(my_date=utc_datetime)

x = MyModel.objects.aggregate(max1=Max('my_date'),max2=Max(Func(F('my_date'), function='UNIX_TIMESTAMP')))

pytz.UTC.localize(datetime.datetime.fromtimestamp(x['max2'])).astimezone(local_tz) == x['max1'].astimezone(local_tz)


  1. 7 sätt att hitta dubbletter av rader medan du ignorerar den primära nyckeln i MySQL

  2. Ta bort en del av en sträng i MYSQL

  3. PHP-kod för att infoga kryssrutavärde i specifik kolumn på mysql med välj formulär

  4. Tryck och parkera:En datamodell för parkeringsappar