@TitanFighter

Как сделать сортировку в БД по количеству объектов в ListField в Django Rest Framework + Mongoengine?

Имеется следующая модель:

class Departments(Document):
        _id = fields.ObjectIdField()
        name = fields.StringField(blank=True, null=True)
        department_id = fields.StringField(blank=True, null=True)  # Added
        list_of_users = fields.ListField(blank=True, null=True)
        list_of_workstations = fields.ListField(blank=True, null=True)


Как вы можете видеть, list_of_users и list_of_workstations являются списками объектов.

Я написал на Питоне код, который вытягивает из БД все данные, помещает в словарь, и производит сортировку, но данный метод работает слишком медленно.

Как я могу отсортировать Департаменты прямо в БД по количеству list_of_users или list_of_workstations или по соотношению list_of_users/list_of_workstations, примерно как:

departments = DepartmentStats.objects.order_by(len(list_of_users)).dsc

или
departments = DepartmentStats.objects.order_by(len(list_of_users)/len(list_of_workstations)).dsc

?
  • Вопрос задан
  • 229 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы