Bu sorun, birkaç hafta boyunca açık ve kapalı oluyor ve projemde ortaya çıkanlardan farklı.Django default = timezone.now(), kayıtları "eski" saatini kullanarak kaydeder
Kullanılan modellerin ikisi varsayılan olarak timezone.now()
olarak ayarlanmış bir zaman damgası alanına sahiptir.
Bu
hata bayrakları yükseltir dizisidir:Modeli biri 19:30
Modeli iki zaman 10:00 PM oluşturulur anda yaratılmış, ancak MySQL veritabanında 7:30 PM olarak saklanır!
belli süresi geçene kadar , 7:30 gerçek zaman değil altına kaydedilir onun zaman damgası vardır Oluşturulan her modeli. Sonra ... bizzar
sorunu ortaya çıkarılmasında yardımcı olabilecek bazı ek ayrıntılar yeni bir zaman ayarlanır ve takip eden tüm modeller yeni zaman buna sahip:
Ben yöntemlerin bir grup var ben tzinfo
'ların saat dilimlerimi kesmek ve bunları UTC ile değiştirmek için kullanın.
Bunun nedeni, bir "oluşturmak için model: timezone.now() - creationTime
hesaplama yapıyorum: bu model uzun bir süre önce yayınlandı" özelliği projede. Ancak, bu gerçekten sorunun sebebi olmamalı.
datetime.datetime.now()
kullanımının herhangi bir fark yaratacağını düşünmüyorum.
Neyse, yardımlarınız için teşekkürler!
Sorunu ilk kayıt için "sabittir" bahis * sonra * sunucu işlemi yeniden başlar (ve belki de yalnızca/tüm yeni kayıtların aynı dakika takılı sunucu yeniden başlat). Lütfen bu varsayılan değeri kullanan/ayarlar/kurar. Sadece bir kere * (ilk kayıt oluşturulduğunda) değerlendirilir ve sonraki kayıtlar için güncellenmez. –
Tahmininiz doğru! Bunu ne düşündüğünü ve neden oluyor? –