Come un idiota, ho completamente trascurato l'impostazione del fuso orario quando ho creato per la prima volta un'applicazione che raccoglie dati datetime.Modifica del fuso orario su un progetto Django esistente
Non era un problema quindi perché tutto quello che stavo facendo era il confronto e l'ordinamento in stile "dal tempo". Ora ho bisogno di fare rapporti completi che mostrano il datetime effettivo e, naturalmente, sono tutti archiviati in America/Chicago (il ridicolo default di Django).
Quindi sì. Ho un database di medie dimensioni pieno di queste date che non sono corretti. Voglio cambiare settings.TIME_ZONE
a 'UTC'
ma ciò non aiuta i miei dati esistenti.
Qual è il modo migliore (leggi: più semplice, più veloce) per convertire tutti i dati del modello in massa?
(tutti i dati sono da negli ultimi due mesi, quindi non c'è per fortuna non DST da convertire)
Questo progetto è attualmente in SQLite, ma ho un altro progetto su PostgreSQL con un problema simile che potrei voler fare lo stesso prima che la DST inizi a calciare ... Quindi idealmente una risposta agnostica al DB.
cosa del database stai usando, btw? –
SQLite ma è del tutto possibile Voglio fare la stessa cosa su un altro progetto che ho usato Postgres per ... Qualcosa di DB-agnostico sarebbe ideale =) – Oli
SQLite memorizza tutto come testo. Alcuni database, tuttavia, memorizzano datetime in UTC internamente. Oracle, ad esempio, traduce l'UTC nel database in localtime. Non è necessario aggiornare nulla per modificare l'ora locale visualizzata. –