给定以下 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 这样做而不是错误类型?是否有这种行为的文档?它期待什么时间格式?