我有以下用户模型,我想获得所有喜欢“黄色”但不喜欢“红色”的用户。
class User(db.Model):
name = db.StringProperty(required=True)
favorite_colors = db.StringListProperty(required=True)
这有效(返回至少有一种最喜欢的颜色“黄色”的所有用户):
results = db.GqlQuery(
"SELECT * FROM User "
"WHERE favorite_colors = 'yellow'")
但这并没有达到我的预期:
results = db.GqlQuery(
"SELECT * FROM User "
"WHERE favorite_colors = 'yellow' "
"and favorite_colors != 'red'")
返回相同的用户列表。我相信它正在测试是否有任何最喜欢的颜色与“红色”不同,而不是如果列表根本不包含“红色”。
如何仅过滤包含一个项目而不包含另一个项目的结果?