Как отсортировать столбец методом Django модели, используя django -sortable-listview (SortableListView)? - PullRequest
2 голосов
/ 20 апреля 2020

Используя пакет django -sortable-listview , я использую SortableListView для сортировки всех полей модели. В моем случае, помимо полей модели, я также хочу отсортировать ее по методу модели.

Models.py

class Employee(models.Model):
      name = models.CharField()
      designation = models.CharField()
      company = models.ForeignKey(Company)
      team = models.CharField()

      # method
      def team_count(self):
        count = len(Employee.objects.filter(team=self.team))
        return count
Views.py 

class EmployeeListView(SortableListView, generic.list.ListView):

    allowed_sort_fields = {'name': {'default_direction': '', 'verbose_name': 'Employee Name'},
                           'designation': {'default_direction': '', 'verbose_name': 'Designation'},
                           'team': {'default_direction': '', 'verbose_name': 'Team Name'},
                           'team_count()': {'default_direction': '', 'verbose_name': 'No of Team members'}}
    default_sort_field = 'name'
    queryset = Employee.objects.all()
    paginate_by = 10

В приведенном выше примере я хочу указать имя сотрудника, его назначение, название команды и количество членов команды.

Кто-нибудь поможет мне отсортировать столбец 'team_count'?

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