Проблема с фильтрами в пользовательских QuerySets mongoengine - PullRequest
0 голосов
/ 10 июля 2019

У меня есть модель MongoEngine Place

class Place(Document):
    is_favorite = fields.BooleanField(default=False)
    name = fields.StringField(max_length=150)
    price_tier = fields.IntField(min_value=1, max_value=3)

    meta = {
    'queryset_class': AwesomerQuerySet
    }

Я использую Пользовательские наборы запросов из MongoEngine.


class AwesomerQuerySet(QuerySet):
    def getNinePlaces1(self):
        #the below line returns empty queryset
        qSet = self.filter(price_tier=2)[:9]
        return qSet

    def getNinePlaces2(self):
        #the below line returns proper queryset
        qSet = self.filter(is_favorite=True)[:9]
        return qSet

Вывод:

print(Place.objects.getNinePlaces1())
>> []

print(Place.objects.getNinePlaces2())
>> [<Place: Place object>, <Place: Place object>, <Place: Place object>, <Place: Place object>, <Place: Place object>, <Place: Place object>, <Place: Place object>, <Place: Place object>, <Place: Place object>]

Проблема: я не уверен, почему Place.objects.getNinePlaces1 () возвращает пустой набор.Пожалуйста, помогите мне понять.

Дайте мне знать, если мне не ясно.Спасибо!

...