python - 如何使用特定月份和年份查询具有日期字段的对象?

标签 python django google-app-engine

我需要对一组具有日期字段的对象进行 gql 查询。我对 python 和 GAE 都很陌生,所以我对此有点无知。我正在查看文档,但找不到我想要的内容。基本上我做了以下类方法

Event.getEventsForMonth(cls, month,year):

所以我试图查询我的对象,其中日期字段的月份和年份落在指定范围内。我尝试创建一个日期对象并将其用于比较,但到目前为止我还没有感到高兴。

dateto = str(year)+str(month+1)+"01"
datefrom = str(year)+str(month)+"01"
if month + 1 == 13:
    dateto = str(year+1)+"01"+"01"

query = GqlQuery("SELECT * FROM Event WHERE date >= :datefrom AND date <= :dateto", dateto=dateto, datefrom=datefrom)
return query

这个方法对我来说看起来很糟糕,因为我不太了解可以从 Python 中与 GQL 查询内联使用的核心方法。

感谢任何帮助

干杯,

安德鲁

最佳答案

首先,将日期存储为数据存储区中的 DateProperty 或 DateTimeProperty 实例。

然后,您可以执行如下查询:

def getEventsForMonth(self, month, year):
  start_date = datetime.datetime(year, month, 1)
  if month == 12:
    end_date = datetime.datetime(year + 1, 1, 1)
  else:
    end_date = datetime.datetime(year, month + 1, 1)
  return Events.all().filter('date >=', start_date).filter('date <=', end_date).fetch(1000)

关于python - 如何使用特定月份和年份查询具有日期字段的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2117056/

相关文章:

python - 在 Pandas 中读取具有不同工作表名称的多个 excel 文件

python - Django/从 redirect_to 到 RedirectView

java - 我如何让 spring 为所有 Controller / Action 设置某些变量

php - 使用 Google App Engine 应用程序更新 Google 群组订阅

python - 谷歌应用引擎日志记录系统中的无限递归

python - Statsmodels 混合线性模型预测

python - 在 python cv2 中扩展轮廓

java - Android Post UTF-8 HttpURLConnection

python - 带有 selenium 的单元测试在 python 中完美无缺,但在 django manage.py 测试中出现导入错误

Django : How to exclude form field if the user is staff?