2011-04-30 12 views
7

Mam następujący model w aplikacji Google appengine.Jak znaleźć wpisy, które nie są puste StringListProperty?

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

Tak więc, chcę uzyskać wpisy, które nie są puste we właściwościach nazw. Próbowałem tak.

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

Ale to podnosi wyjątek: BadValueError: Filtracja na listach nie jest obsługiwana

Jak można filtrować je? lub czy powinienem sprawdzać jeden po drugim, jak na przykład?

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

Odpowiedz

6

Spróbuj tego:

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

To daje każdy podmiot, z co najmniej jedną wartością ustawioną dla nazw, tj każdej wartości indeksu.

Powiązane problemy