模板中的多对多通过模型中的 Django 访问条目

Posted

技术标签:

【中文标题】模板中的多对多通过模型中的 Django 访问条目【英文标题】:Django access entry from ManyToMany Through model in a template 【发布时间】:2018-12-05 16:20:13 【问题描述】:

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

模型.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 %

【问题讨论】:

【参考方案1】:

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

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

到这里:

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

【讨论】:

以上是关于模板中的多对多通过模型中的 Django 访问条目的主要内容,如果未能解决你的问题,请参考以下文章