我有一个 Django 模型,如下所示:
class Event(models.Model):
name = model.CharField(...etc...)
date = model.DateField(...etc...)
我需要的是一种获取给定日期和月份的所有事件的方法 - 很像“当天”页面。
def on_this_day(self,day,month):
reutrn Events.filter(????)
我已经尝试了所有常规日期查询类型,但它们似乎都需要一年,并且缺乏迭代all多年来,我不明白这是如何做到的。
您可以通过指定日期和月份来进行这样的查询:
def on_this_day(day, month):
return Event.objects.filter(date__day=day, date__month=month)
最有可能的是scans您的数据库表使用 SQL 运算符,例如MONTH(date)
and DAY(date)
或一些等效的查找
如果添加索引,您可能会获得更好的查询性能Event.day
and Event.month
(if Event.date
内部存储为int
在数据库中,它使其不太适合您(day, month)
查询)
以下是 Django 的一些文档:https://docs.djangoproject.com/en/dev/ref/models/querysets/#month
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)