问题:用户(B)需要基于特定标准的一组用户(A)的帮助。此标准由用户 (A) 在其个人资料中设置。
class UsersAProfiles(db.Model):
industries = db.StringListProperty() #technology, etc. (total 20)
agegroups = db.StringListProperty() #teenagers, etc. (total 10)
tags = db.StringListProperty() #cooking, etc.
(while each User A can enter at most 10 tags, but there is no limit on
what tags are used, e.g., sql, gym, etc. (limited by dictionary!)
... #there are many other properties
用户(B)的设置单独存储的标准
class UserBRequestForHelp(db.Model):
myindustries = db.StringListProperty() #technology, etc. (<20)
myagegroups = db.StringListProperty() #teenagers, etc. (<10)
mytags = db.StringListProperty() #cooking, etc.
... #there are many other properties
现在我需要可能帮助 B 的所有用户 A 的列表。为此,我尝试运行以下查询:
query = db.GqlQuery("SELECT * FROM UsersAProfiles WHERE
industries IN :1 AND
agegroups IN :2 AND
tags IN :3",
userB_obj.myindustries , userB_obj.myagegroups, userB_obj.mytags)
但我收到以下错误:
Cannot satisfy query -- too many IN/!= values.
我真的被困在这里,不知道如何解决这个问题。如何运行此类查询。此外,我是否需要以不同的方式设计模型类以便可以运行此类查询?如果是的话,有人可以帮忙。
提前致谢!