Django DateTimeField de la forma a UTC

Tengo una pequeña aplicación de Django con un formulario que guarda algunos datos en la base de datos.

Aquí está el formulario:

class SomeForm(forms.Form): time = forms.DateTimeField() ... 

Y la vista, donde la guardo:

 class AccountAddIncome(View): def save(self, form): model = Model( time=form.cleaned_data['time'] ) model.save() def post(self, request, *args, **kwargs): form = SomeForm(request.POST) if form.is_valid(): self.save(form) return redirect(self.success_url) else: ... 

Mi problema es que el administrador de Django dice: “Nota: te adelanta 1 hora la hora del servidor”.
El comando de date en mi Ubuntu ( el servidor ) dice exactamente la misma fecha que tiene mi computadora.

Pero, cuando guardo este objeto en la base de datos, y hago la siguiente consulta:

 Model.objects.filter(time__lt=timezone.now()) 

django no lista el modelo guardado previamente durante una hora. Si voy al administrador y establezco el tiempo en una hora atrás, django mostrará ese objeto.

Entonces, mi pregunta es, ¿cuál es la mejor práctica para administrar objetos de fecha y hora en django?

Quiero guardar todo en UTC, pero no puedo convertir esa fecha y hora del formulario a UTC.

Ve a settings.py de tu proyecto Django

comente la configuración de la zona horaria y use TIME_ZONE = timezone.now ()

 from django.utils import timezone TIME_ZONE = timezone.now() # TIME_ZONE = 'UTC' # USE_I18N = True # USE_L10N = True # USE_TZ = True 

De lo que nunca verá esto: Nota: tiene 1 hora de anticipación con respecto a la hora del servidor.