Evl*_*ark 0 python google-app-engine
我已经实现了如下数据库
from google.appengine.ext import db
from google.appengine.ext import blobstore
class Medicine:
id = db.IntegerProperty(required=True)
exp_date = db.DateProperty()
Run Code Online (Sandbox Code Playgroud)
在实体经理我希望得到所有药物到期日 - 20
MedicineEntity:
def get_medicines(self):
query = db.GqlQuery("SELECT * FROM Medicine WHERE exp_date=:1", exp_date -20 )
Run Code Online (Sandbox Code Playgroud)
我知道我的查询错了.有没有办法像Gql中的sql一样获得差异.任何人都可以帮忙吗?
在python中执行此操作的标准方法是使用timedelta.
例如:
from datetime import datetime, timedelta
now = datetime.now()
delta = timedelta(days=20)
then = now - delta
Run Code Online (Sandbox Code Playgroud)
因此,1选项是将exp_date转换为日期时间,减去timedelta然后将其转换回dateproperty.
我没有使用过appengine,所以我不知道究竟有多难.
编辑:有些搜索显示DateProperty实际上将值存储为日期时间对象,因此它应该如此简单
query = db.GqlQuery("SELECT * FROM Medicine WHERE exp_date=:1", exp_date - timedelta(days=20) )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
615 次 |
| 最近记录: |