Запрос хранилища данных для всех моделей, которые содержат определенный элемент в свойстве listproperty
Эй, у меня есть такая модель:
class List(db.Model):
user = db.ReferenceProperty(User)
listname = db.StringProperty()
published = db.DateTimeProperty(auto_now_add=True)
score = db.IntegerProperty(required=False)
tld = db.StringProperty(required=False)
categories = db.StringListProperty()
Где к списку может быть прикреплено несколько категорий (отсюда и свойство списка). Я хочу использовать эти категории для создания страниц категорий, поэтому мне нужен запрос, который я могу использовать для выборки всех списков, которые имеют определенную категорию в атрибуте их категорий. Я пробовал несколько разных подходов, и ни один из них не работает. Есть ли такой запрос? (следующее не работает):
select * from List where 'Philosophy' in categories
Если нет, я собираюсь сделать что-то вроде:
lists = List.all()
for list in lists:
if 'Philosophy' in list.categories:
#add this list to the lists to display on page
Но кажется, что это будет либо невероятно медленно, либо как-то сломаться...
Есть идеи? Спасибо!
Том
ОБНОВИТЬ:
Ой, я решил это извините за беспокойство! Для тех, кто заинтересован, вы можете просто использовать запрос, подобный этому:
SELECT * FROM List where categories = 'Philosophy'
Который будет соответствовать любому списку, который имеет "Философия" в категориях.
1 ответ
Ой, я решил это извините за беспокойство! Для тех, кто заинтересован, вы можете просто использовать запрос, подобный этому:
SELECT * FROM List where categories = 'Philosophy'
Который будет соответствовать любому списку, который имеет "Философия" в категориях.