如何在MySQL的Django中使用DateTimefield进行日期过滤

zd287kbt  于 2022-12-10  发布在  Mysql
关注(0)|答案(1)|浏览(135)

MySQL中的DateTimefield不能按日期筛选。

class Data(models.Model):
        created_at = models.DateTimeField(default=timezone.now)

作为文档,可以按日期进行筛选:

qs = Data.objects.fitler(created_at__date__lte=datetime.date(2022, 1, 1))

它在使用sqlite3时工作得很好,但在使用MySQL时,它总是返回空的queryset。

ippsafx7

ippsafx71#

首先,您需要将日期转换为datetime对象。在您的情况下,将'2022-01-01'转换为:

from datetime import datetime

date_object = datetime.strptime("2022-01-01", "%Y-%m-%d")

# Then you can filter it as
qs = Data.objects.fitler(created_at__date__lte=date_object)

相关问题