尝试通过演示者字段循环播放事件。然后使用is_presenter
将其标记为模板中的演示者。
我想我的问题是:如何正确循环遍历manytomanyfield以返回模板标记?
模型
class Event(model.Model):
title = models.CharField(max_length=200)
presenters = models.ManyToManyField(Profile, null=True, blank=True)
...
视图
for presenter in event.presenters_set.all():
is_presenter = True
先谢谢你的帮助。
答案 0 :(得分:5)
你想要完成的事情并不十分清楚。如果您在模板中执行此操作,则可以执行类似
的操作{% for presenter in event.presenters.all %}
{% if presenter.is_presenter %}
{% # format or do whatever it is you want to do to the presenter here %}
{% else %}
{% # this is not a presenter leave alone %}
{% endif %}
{% endfor %}
如果您的检查演示者更复杂,那么将其保留在您的视图中而不是模板中是很好的。您可以计算哪些主持人实际呈现,在演示者对象上放置一个标志并将其传递给您的模板。