Django 通过模板中的模型从 ManyToMany 访问入口

Django access entry from ManyToMany Through model in a template

我想访问订阅给定培训的用户列表,我设法获得了订阅者数量正确的列表,但所有订阅者的姓名都是当前登录的用户。提前致谢!

models.py

class Training(Base):
    subscribers = ManyToManyField(User, through = 'Subscription')

class Subscription(Base):
    user = ForeignKey(User, on_delete = CASCADE)
    training = ForeignKey(Training, on_delete = CASCADE)

views.py

class ShowSubscribers(Subscription):
    def get(self):
        self.subscribers = models.Subscription.objects.filter(training = self.get_training())

在我的模板中,我按以下方式调用列表:

{% for s in subscribers %}
      {{subscription.user.first_name}}
{% endfor %}

您的模板中 subscription 是什么?尝试改变这个:

{% for s in subscribers %}
      {{subscription.user.first_name}}
{% endfor %}

为此:

{% for s in subscribers %}
      {{s.user.first_name}}
{% endfor %}