我的django应用程序中发生了一些奇怪的事情: 我有一个包含DateTimeField的模型:
class Event(models.Model):
start_time = models.DateTimeField()
def __unicode__(self):
return pretty_print_datetime(self.start_time))
def pretty_print_datetime(date):
return date.strftime('%A, %x, %H Uhr').replace(' 0', ' ')
此外,我添加了一些功能,允许我一次创建多个事件。他们都有不同的一天,但开始时间应该是相同的:
class EventAdmin(admin.ModelAdmin):
form = EventForm
def save_model(self, request, obj, form, change):
obj.save()
if not change:
# Create more events
repetitions = form.cleaned_data['number_of_repetitions']
interval = form.cleaned_data['interval_of_repetitions']
for i in range(repetitions):
new_event = Event.objects.get(pk=obj.pk)
new_event.pk = None
new_event.start_time += timedelta(days=(i+1)*interval)
new_event.save()
现在奇怪的部分:每当我创建一个事件(从17:00开始)时,它会将事件(以及我自动创建的所有其他事件)存储在数据库中,开始时间为“... 15: 00 + 00" 。我不担心它,因为管理界面仍然告诉我我的事件在17:00开始但不幸的是它告诉我我的原始事件在17:00开始,而所有其他事件在16:00开始。怎么会这样?即使数据库以不同的方式存储格式,其他事件如何在不同的时间开始?
我是否应该开始关注时区意识,如果是这样的话:我该怎么办? 非常感谢!