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

bmp9r5qi  于 2023-03-20  发布在  Go
关注(0)|答案(4)|浏览(101)

我有一个这样的模型

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

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

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

但这也会寻找创建对象的时钟。
注:我不能改变模型中的字段,因为我需要时钟在其他用途。
有人能帮我选择今天创建的所有条目吗?
先谢了

7ivaypg9

7ivaypg91#

  • 您只需编写一个有效的过滤器,如下所示:*
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)
ef1yzkbh

ef1yzkbh2#

我认为主要原因是因为您试图将dt字段与date进行比较。
您可以对字段执行use prefixes操作。
或者,您可以将“今天”的值与dt进行比较(仅举一例):

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

brgchamk3#

从数据库中获取当前数据的方法有很多。

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不起作用,则只删除一个日期时间,只使用单个日期时间

wnvonmuf

wnvonmuf4#

您可以像这样简单地使用__date

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

相关问题