Запрос хранилища данных для всех моделей, которые содержат определенный элемент в свойстве 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'

Который будет соответствовать любому списку, который имеет "Философия" в категориях.

Другие вопросы по тегам