我想做的是查询数据存储中的模型,其中密钥是not我已经拥有的对象的密钥。这是一些代码:
class User(db.Model):
partner = db.SelfReferenceProperty()
def text_message(self, msg):
user = User.get_or_insert(msg.sender)
if not user.partner:
# user doesn't have a partner, find them one
# BUG: this line returns 'user' himself... :(
other = db.Query(User).filter('partner =', None).get()
if other:
# connect users
else:
# no one to connect to!
这个想法是寻找另一个User
没有合作伙伴的人就不是我们已经认识的用户。
我试过了filter('key !=, user.key())
, filter('__key__ !=, user.key())
和其他几个,没有任何回报User
谁没有伴侣。filter('foo !=, user.key())
记录一下,也没有返回任何内容。
有一种非常简单的方法可以解决这个问题:检索两条记录,并过滤掉用户自己的记录(如果存在)。
def text_message(self, msg):
user = User.get_or_insert(msg.sender)
if not user.partner:
# user doesn't have a partner, find them one
other = db.Query(User).filter('partner =', None).fetch(2)
other = [u for u in other if u.key() != user.key()]
if other:
# connect user with other[0]
else:
# no one to connect to!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)