Мне нравилось создавать пару простых приложений для GAE, но теперь я озадачен тем, как спроектировать органайзер коллекции музыки на движке приложений. Короче говоря, я не могу понять, как фильтровать несколько свойств при сортировке по другому.
Давайте предположим, что основной моделью является альбом, содержащий несколько свойств, в том числе:
- Название
- Исполнитель
- Метка * * 1 010
- Год публикации
- Жанр
- Длина
- Список названий треков
- Список настроений
- Дата и время вставки в базу данных
Давайте также предположим, что я хотел бы отфильтровать всю коллекцию, используя эти свойства, а затем отсортировать результаты по одному из:
- Год публикации
- Длина альбома
- Имя исполнителя
- Когда информация была добавлена в базу данных
Я не знаю, как это сделать, не сталкиваясь с загадкой взрыва индекса. В частности, я бы хотел сделать что-то вроде:
Albums.all().filter('publication_year <', 1980).order('artist_name')
Я знаю, что это невозможно, но какой обходной путь?
Это похоже на довольно общий тип приложения. Музыкальные альбомы могут быть ресторанами, бутылками вина или отелями. У меня есть коллекция элементов с описательными свойствами, которые я хотел бы отфильтровать и отсортировать.
Есть ли лучший пример модели данных, который я пропускаю? Любой совет?