获取今天日期的所有对象,django
Posted
技术标签:
【中文标题】获取今天日期的所有对象,django【英文标题】:Get all objects with today date, django 【发布时间】:2021-12-11 01:33:17 【问题描述】:我有一个这样的模型
class Maca(models.Model):
created_at = models.DateTimeField(
auto_now_add=True
)
现在我想在 views.py 文件中获取今天创建的所有条目,
我正在尝试这个
Maca.objects.filter(created_at=datetime.today().date())
但这也会查找对象创建的时钟。
P.S 我无法更改模型中的字段,因为我还需要时钟用于其他用途。
有人可以帮我选择今天创建的所有条目吗?
提前致谢
【问题讨论】:
【参考方案1】:有很多方法可以从数据库中获取今天的数据。
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 )
第二种方法是使用包含过滤
filtereddata = Maca.objects.filter(created_at__contains=datetime.today().date())
如果 datetime.datetime 不起作用。只删除一个日期时间只使用一个日期时间
【讨论】:
【参考方案2】:我认为主要原因是因为您试图将dt
字段与date
进行比较。
您可以use prefixes 获取字段。
或者您可以将您的“今天”值与dt
(只是一个示例)进行比较:
today = datetime.today().replace(hour=0, minute=0, second=0, microsecond=0)
records = Maca.objects.filter(created_at >= today)
【讨论】:
【参考方案3】:你只需要像这样写一个有效的过滤器:
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)
【讨论】:
以上是关于获取今天日期的所有对象,django的主要内容,如果未能解决你的问题,请参考以下文章