Как найти записи, у которых нет пустых StringListProperty? - PullRequest
7 голосов
/ 30 апреля 2011

У меня есть следующая модель в приложении Google appengine.

class TestModel(db.Model):
  names = db.StringListProperty(required=False)

Итак, я хочу получить записи, которые не пустые в свойстве names. Я пытался так.

TestModel.all().filter('names !=', [])

Но возникает исключение: BadValueError: фильтрация по спискам не поддерживается

Как я могу отфильтровать это? или я должен проверить один за другим, как следующие?

for entry in TestModel.all():
  if len(entry.names) > 0:
     result.append(entry)

1 Ответ

6 голосов
/ 30 апреля 2011

Попробуйте это:

TestModel.all().filter('names >=', None)

Это даст вам каждый объект с хотя бы одним значением, установленным для имен, т.е. каждое значение в индексе.

...