我有這樣的型號:上更新的Django DateTimeField字段變化與不正確的值
class Menu(models.Model):
version = models.BigIntegerField(blank=False, null=False)
local = models.ForeignKey(Local, db_column='id_local')
created = models.DateTimeField(auto_now_add=True, blank=True,db_column='created')
actived = models.DateTimeField(db_column='actived')
class Meta:
managed = False
db_table = 'menu'
當我創建的一個對象;所有的工作都很簡單,但我更新'激活'的問題。我使用如下代碼:
menu = Menu.objects.get(version=ver, local=local)
menu.actived = datetime.now()
menu.save()
激活的值是正確的;當我在db(MySql,utf-8字符集)或模板中看到它時,該值對應。但'menu.created'的值更改爲'menu.created - 1 HOUR'的對應值。
我不知道爲什麼;這就是我修改的所有代碼。
它並不總是一樣的時間-1。每次我嘗試更新激活時間;創建的日期時間發生了變化(減去一個數據庫值並保存爲新值) – DoberDog 2014-12-01 20:06:05
好的,我想我明白你在說什麼了。聽起來好像在數據庫的格式和Python的格式之間轉換有些問題,所以時間不斷被抵消。可能是數據庫或適配器的配置問題。這聽起來像你有'USE_TZ = False'?使用意識到的日期時間可能會使這個問題消失。 – 2014-12-01 20:26:52