У меня есть модель, связанная с событиями реального мира, которая содержит как DateTimeField
, так и Location (PointField
).
DateTime всегда будет вводиться / обновляться пользователем в TZ местоположения ( Я назову это местным временем). Поэтому, как только форма будет post
ed, мне нужно получить часовой пояс для местоположения и применить его к локальному DateTime, прежде чем он будет сохранен в БД.
Поскольку это UpdateView, я также необходимо иметь возможность взять экземпляр, хранящийся в БД, и представить его пользователю в локальном времени в форме, когда пользователь get
является формой.
Мне удобно получить часовой пояс для местоположение и использование часового пояса Django для преобразования даты и времени при необходимости. Однако я не уверен, что лучше всего. Вот два, которые я придумал:
- Используйте django .utils.timezone activate (). Это кажется наиболее подходящим для pythoni c, но у меня 70% N00b и я не могу понять, какой метод переопределить, чтобы обеспечить правильную обработку
get
и post
. - Переопределить get_context_data () и form_valid (). При таком подходе я бы выполнил изменение даты и времени с учетом часового пояса на локальное и обратно в каждом методе.
Спасибо за любую помощь. Э ... сегодня субботняя ночь.