2
用GAE的數據存儲區修改一下我發現我無法想出一個合適的方式來過濾掉在多值屬性上使用不等過濾器'!=':GQL:在多值屬性上不等於過濾器
class Entry(db.Model):
...
tags = db.StringListProperty()
e1 = Entry()
e2 = Entry()
e1.tags = ['tag1', 'tag2', 'tag3']
e2.tags = ['tag1', 'tag3', 'tag4']
# I want to exclude all the results containing 'tag2'
db.GqlQuery("""SELECT * FROM Entry
WHERE tags != 'tag2' """)
的問題是,該查詢返回兩個E1和E2,但我想只有E2。
我認爲發生這種情況是因爲不等式過濾器的計算結果爲ANY(如果至少有一個值是!='tag2',則爲TRUE。有一種方法可以將過濾器應用於ALL?(如果所有值均爲!=' ?TAG2' )
我知道,GAE的數據存儲是沒有關係,但我想知道如何巧妙地解決/認爲這種查詢
感謝。)
謝謝,我用另一種(更簡單)的方式解決了我的問題。 –
Gianluca Bargelli。你介意分享可以幫助我或其他人的解決方案嗎? – luckykrrish