Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django更新表单生成假日期_Django_Timezone - Fatal编程技术网

Django更新表单生成假日期

Django更新表单生成假日期,django,timezone,Django,Timezone,我在django中创建了一个日历应用程序,可以在其中添加/更新/删除包括startdate、enddate和title在内的事件 我现在在尝试更新事件时遇到问题。例如,我想将startdate从2015-02-04更新到2015-02-03,startdate的值始终与-1天2015-02-02一起保存 我的模型: class Event(models.Model): title = models.CharField(max_length=255) start = models.

我在django中创建了一个日历应用程序,可以在其中添加/更新/删除包括startdate、enddate和title在内的事件

我现在在尝试更新事件时遇到问题。例如,我想将startdate从2015-02-04更新到2015-02-03,startdate的值始终与-1天2015-02-02一起保存

我的模型:

class Event(models.Model):
    title = models.CharField(max_length=255)
    start = models.DateTimeField()
    end = models.DateTimeField()
我的表格:

class EventForm(ModelForm):
    class Meta:
        model = Event
我的看法是:

form = EventForm(
    request.POST,
    instance=Event.objects.get(
        pk=request.POST['id']
    )
 )
form.save()
小说明: 当我想更新一个事件时,我会在请求中发送ID,这样我就可以将该事件的旧实例注入到表单中

我知道时区一定有问题。在my settings.py中,我使用了_TZ=True和TIME_ZONE='EUrope/Prague'

request.POST['start']包含类似于'2015-02-03'的字符串

当我检查数据库Events.objects.all中保存的内容时,我可以看到日期是用UTC保存的

events = Event.objects.all()
e = events[0]
e.start
datetime.datetime(2015, 2, 2, 11, 0, tzinfo=<UTC>)

您是否尝试过使用DateField而不是DateTimeField,因为您没有使用时间