django -tables2 получить счетчик множества полей - PullRequest
0 голосов
/ 20 февраля 2020

У меня возникли трудности с подсчетом числа связанных со многими из многих полей. У меня есть классы Project и Employee, а у Project есть FK на сотрудника. Таким образом, любой сотрудник может иметь 0 или более связанных проектов. На странице сотрудника я хотел бы отобразить общее количество проектов, связанных с сотрудником.

Перед использованием таблиц2 в моем шаблоне html у меня было следующее:

    def get_queryset(self):
        employees = (
            Employee.objects.all()
            .prefetch_related('projects')
            .annotate(Count('projects'))
        )
        return employees

и это в моем HTML

        {% for employee in employees %}
          <tr>
            <td><a href="{% url 'employee' employee.id %}">{{ employee.name }}</a></td>
            <td class="text-center">{{ employee.projects__count}}</td>
          </tr>
        {% endfor %}

После перехода к таблицам2, как я могу получить счет всех проектов, связанных с сотрудником? У меня есть что-то, что отображает все проекты, связанные с сотрудником, но мне нужен только общий счет. Что у меня есть:

projects = tables.ManyToManyColumn(
        verbose_name="Projects",
        transform=lambda record: record.name,
        linkify_item=('project', [A('pk')]),
        default="(none)",
    )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...