Đây là một kỹ thuật thú vị-- Tôi đã tận dụng thủ tục bắt đầu như được thực hiện với Django trên MySQL để đạt được kết quả là chỉ tìm kiếm một datetime chỉ qua ngày. Về cơ bản, khi Django thực hiện tra cứu trong cơ sở dữ liệu, nó phải thực hiện chuyển đổi chuỗi cho đối tượng lưu trữ MySQL củaETETIME, do đó bạn có thể lọc theo đó, bỏ phần dấu thời gian của ngày-- theo cách đó% THÍCH% chỉ khớp với ngày đối tượng và bạn sẽ nhận được mọi dấu thời gian cho ngày đã cho.
datetime_filter = datetime(2009, 8, 22)
MyObject.objects.filter(datetime_attr__startswith=datetime_filter.date())
Điều này sẽ thực hiện các truy vấn sau đây:
SELECT (values) FROM myapp_my_object \
WHERE myapp_my_object.datetime_attr LIKE BINARY 2009-08-22%
BINary THÍCH trong trường hợp này sẽ khớp mọi thứ cho ngày, bất kể dấu thời gian. Bao gồm các giá trị như:
+---------------------+
| datetime_attr |
+---------------------+
| 2009-08-22 11:05:08 |
+---------------------+
Hy vọng rằng điều này sẽ giúp tất cả mọi người cho đến khi Django đưa ra một giải pháp!