我有一个带有表单的小型 Django 应用程序,它将一些数据保存到数据库中。
表格如下:
class SomeForm(forms.Form):
time = forms.DateTimeField()
...
还有我保存它的视图:
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:
...
我的问题是,Django 管理员说:“注意:您比服务器时间早 1 小时。”
The date
我的 Ubuntu 上的命令(服务器)显示的日期与我的计算机的日期完全相同。
但是,当我将该对象保存在数据库中并进行以下查询时:
Model.objects.filter(time__lt=timezone.now())
django 在一个小时内不会列出之前保存的模型。如果我去管理员处,将时间调回一小时,django 就会显示该对象。
所以,我的问题是,在 django 中管理日期时间对象的最佳实践是什么?
我想以 UTC 格式保存所有内容,但无法将该日期时间从表单转换为 UTC。