나는 다음과 같은 사용자 모델을 가지고 있으며 '노랑'을 좋아하지만 '빨강'을 좋아하지 않는 모든 사용자를 얻고 싶습니다.항목이 포함되지 않은 StringListProperty를 기준으로 필터링하는 방법은 무엇입니까?
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'")
동일한 사용자 목록이 리턴됩니다. 내가 좋아하는 색상 중 하나가 '빨간색'과 다를 경우 목록에 '빨간색'이 전혀 포함되지 않은 경우가 아니라고 판단됩니다.
항목을 포함하고 다른 항목이 아닌 결과 만 필터링하려면 어떻게해야합니까?
"색상"세트에 ~ 3k 개 항목과 "사용자"~ 40k가 있고 데이터 저장소 API가 처음 1000 개 결과 만 반환하기 때문에 파이썬 코드에서 필터링을 수행 할 수 있는지 여부는 알 수 없습니다. . 어쨌든 고마워! – jbochi