Это продолжение моих previous question.Как фильтровать() для разных предметов?
Я использую ту же самую модель
class Item(db.Model):
...
glam = db.StringProperty()
casual = db.StringProperty()
speaking = db.StringProperty()
и предположу, что у меня есть 2 пунктов и 1 помечен «глэй» другие помеченные «говорящий».
Если я отфильтровывать как этот
query.filter("glam", "glam")
query.filter("speaking"), "speaking")
фильтр не возвращает ни, потому что это выглядит для 1 пункт с тегом «глэм» и «говорить».
Как отфильтровать отдельные элементы?
Update
Item
таблица может выглядеть следующим образом:
glam speaking
-------------------
item1
item2 glam
item3 speaking
item4
item5 glam
Я хотел бы, чтобы отфильтровать "глэм" и "говорить"
Спасибо за ответ. На данный момент я не хочу использовать экспериментальный API Datastore Plus. Затем, каков наилучший способ обработать «привязку изображений» в хранилище данных? Должен ли я изменить свою схему и использовать отношения «один ко многим»? – Zeynel
Вы можете использовать StringListProperty (http://code.google.com/appengine/docs/python/datastore/datamodeling.html#Lists). Затем вы можете выполнить запрос AND, просто используя несколько фильтров равенства в одном и том же свойстве. – bdonlan
Я попробовал StringListProperty, но заметил, что если я использую несколько фильтров для «glam» и «casual»; элемент с тегами ["glam", "casual"] будет возвращен, но другой элемент с тегом [glam] не будет возвращен. – Zeynel