1
日期時間考慮下面的Django模型的Django模型:創建與字符串
from django.db import models
class TimeStamp(models.Model):
date = models.DateField()
我很驚訝地發現,我可以在字符串傳遞datetime
對象而不是:
In [4]: ts = TimeStamp.objects.create(date="2001-12-31")
In [5]: ts.date
Out[5]: '2001-12-31'
In [6]: reloaded_ts = TimeStamp.objects.get(id=ts.id)
In [7]: reloaded_ts.date
Out[7]: datetime.date(2001, 12, 31)
爲什麼Django的這樣做而不是錯誤的類型?有這種行爲的文件嗎?它期望什麼時間格式?
「對時間字段輸入數據時,將要接受的格式元組」 - 啊,所以這是一個模型字段,而不是一個表單域?爲什麼'ts.date'不是'datetime'? –
正確,請查看文檔:https://docs.djangoproject.com/en/dev/ref/models/fields/#datefield。 'ts.date'不是'datetime',因爲你將它聲明爲'DateField'。嘗試'DateTimeField',看看會發生什麼:) – matino
對不起,我還不清楚。爲什麼'ts.date'是'string'而不是'date'? –