Google app engine 仿效;或;数据存储中的条件
我将谷歌应用程序引擎与Python(Django)结合使用。 如何模拟Google app engine 仿效;或;数据存储中的条件,google-app-engine,google-cloud-datastore,Google App Engine,Google Cloud Datastore,我将谷歌应用程序引擎与Python(Django)结合使用。 如何模拟“从bla中选择*,其中touser=common.userstats(“key”)或fromuser=common.userstats(“key”)按日期排序ASC” 我在想这样的事情,但我不能按我想要的顺序来做 recievedlist = models.P1.all() recievedlist.filter("touser =", common.userstats("key")) plus1li
“从bla中选择*,其中touser=common.userstats(“key”)或fromuser=common.userstats(“key”)按日期排序ASC”
我在想这样的事情,但我不能按我想要的顺序来做
recievedlist = models.P1.all()
recievedlist.filter("touser =", common.userstats("key"))
plus1list = recievedlist.fetch(50)
sendlist = models.P1.all()
sendlist.filter("fromuser =", common.userstats("key"))
plus1list += sendlist.fetch(50)
# order plus1list
您可以将
ListProperty
添加到包含touser
和fromuser
的模型中。然后,您可以执行单个查询来检索您感兴趣的实体(按日期排序)。这消除了数据存储查询和内存排序,但会在模型上花费额外的索引和稍多的存储空间
(伪)示例:
然后,您可以执行如下查询(因为如果列表中的任何元素toandfromuser
与您要查找的值匹配,则实体将匹配):
class bla(db.Model):
...
toandfromuser = db.ListProperty(...)
SELECT * FROM bla WHERE toandfromuser = common.userstats("key") ORDER BY date ASC