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