加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 谷歌应用程序引擎gql查询具有相同字符串的两个属性

发布时间:2020-12-20 11:18:38 所属栏目:Python 来源:网络整理
导读:我有一个名为Game的数据模型. 在Game模型中,我有两个名为player1和player2的属性,它们是它们的名称. 我想在游戏中找到一个玩家但是我不知道如何构建查询因为gql不支持OR子句然后我不能使用select * from game其中player1 =’tom’或者player2 =’tom’语句.
我有一个名为Game的数据模型.

在Game模型中,我有两个名为player1和player2的属性,它们是它们的名称.

我想在游戏中找到一个玩家但是我不知道如何构建查询因为gql不支持OR子句然后我不能使用select * from game其中player1 =’tom’或者player2 =’tom’语句.

那么,我该如何解决这个问题呢?
我是否必须修改我的数据模型?

解决方法

使用当前的数据模型,您需要执行2个查询,一个用于player1,另一个用于player2,然后将结果合并到本地 Python代码中.

另一个需要更改模式的选项是用单个ListProperty替换两个字段,例如:

class Game(db.Model):
  players = db.ListProperty()

game1.players = ['tom','bob']
game2.players = ['joe','tom']

# this query will match all games where tom is one of the players
query = Game.all().filter('players =','tom')

这是有效的,因为现在可以使用单个索引查询玩家.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读