| 597 | |
| 598 | |
| 599 | class DateField(DateTimeField): |
| 600 | def to_mongo(self, value): |
| 601 | value = super().to_mongo(value) |
| 602 | # drop hours, minutes, seconds |
| 603 | if isinstance(value, datetime.datetime): |
| 604 | value = datetime.datetime(value.year, value.month, value.day) |
| 605 | return value |
| 606 | |
| 607 | def to_python(self, value): |
| 608 | value = super().to_python(value) |
| 609 | # convert datetime to date |
| 610 | if isinstance(value, datetime.datetime): |
| 611 | value = datetime.date(value.year, value.month, value.day) |
| 612 | return value |
| 613 | |
| 614 | |
| 615 | class ComplexDateTimeField(StringField): |