問題:用戶(B)需要從一組基於特定標準的用戶(A)的幫助。此標準由用戶(A)在其個人資料中設置。獲取錯誤「無法滿足查詢 - 太多IN /!=值」。如何解決這個問題?
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.對於我嘗試運行下面的查詢:
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.
我真的被困在這裏,不知道如何解決這個問題。如何運行這樣的查詢。此外,我是否需要不同地設計模型類,以便可以運行此類查詢?如果是的話,有人可以幫忙。
由於一噸提前!
感謝您的信息。非常感謝。我也想知道解決方案應該是什麼。 (剛剛提出了一種替代解決方案(睡覺考慮解決方案,讓潛意識頭腦昨晚工作:-))。很快會發布答案。再次感謝您的信息! – 2013-02-11 19:26:50