Flask Mongoengine фильтрует запрос - PullRequest
0 голосов
/ 09 июля 2020

Я использую Mongoengine в своем приложении flask и пытаюсь отфильтровать простой запрос. Имя моего документа - Событие, и в нем есть следующие поля:

  • пользователь (ReferenceDocument)
  • категория (ReferenceDocument)
  • тип (StringField)
  • start_time (DateField)

Моя цель - получить последние 30 событий данного пользователя, отфильтровать их по категории и типу, а затем подсчитать отфильтрованные результаты. Моя попытка была:

    grades = {}
    events = Event.objects(user=user).order_by('-start_time')[:30]
    for category in user.categories:
        grade = 0
        for event_type in eEvents:
            grade += (events(category=category, type=event_type.name).count(
                with_limit_and_skip=True)) * event_type.value
        grades[category.name] = grade

Итак, проблема в том, что запрос (вторая строка в коде) не ограничивает результаты, и я получаю все события пользователя. Когда я использую метод count после фильтрации запроса, он ограничивает счет до 30.

Кстати, есть ли идеи, как лучше сделать это с использованием функциональности mongoengine?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...