次の 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 が型についてエラーを出すのではなく、なぜこれを行うのですか? この動作に関するドキュメントはありますか? どのような時刻形式が期待されていますか?