获取所有具有今天日期的对象,Django

2024-09-27 20:17:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个这样的模型

class Maca(models.Model):
   created_at = models.DateTimeField(
     auto_now_add=True
   )

现在我想在views.py文件中获取今天创建的所有条目

我在试这个

Maca.objects.filter(created_at=datetime.today().date())

但这也会寻找创建对象的时钟

另外,我不能更改模型中的字段,因为我在其他用途中也需要时钟

有人能帮我选择今天创建的所有条目吗

提前谢谢


Tags: 模型addtrueautomodelmodels条目时钟
3条回答

现在有很多方法可以从数据库中获取数据

year =  datetime.datetime.now().strftime('%y')
month =  datetime.datetime.now().strftime('%m')
day =  datetime.datetime.now().strftime('%d')
filtereddata = Maca.objects.filter(created_at__year=year,created_at__month=month, created_at__day=day )

第二种方法是使用contains进行过滤

filtereddata = Maca.objects.filter(created_at__contains=datetime.today().date())

如果datetime.datetime不起作用。只需删除一个datetime即可使用单个datetime

您只需编写如下有效筛选器:

from datetime import datetime

today = datetime.today()

year = today.year
month = today.month
day = today.day

meca = Meca.objects.filter(created_at__year=year, 
created_at__month=month, created_at__day=day)

我认为主要原因是您试图将dt字段与date进行比较

您可以为字段use prefixes

或者,您可以将“今天”值比较为dt(仅举一个例子):

today = datetime.today().replace(hour=0, minute=0, second=0, microsecond=0)
records = Maca.objects.filter(created_at >= today)

相关问题 更多 >

    热门问题