循环遍历manytomany字段并返回模板标记

Mod*_*esq 0 django many-to-many django-templates

尝试通过演示者字段循环播放事件.然后将它们标记为模板中的演示者is_presenter.

我想我的问题是:如何正确循环遍历manytomanyfield以返回模板标签?

模型

class Event(model.Model):
    title = models.CharField(max_length=200)
    presenters = models.ManyToManyField(Profile, null=True, blank=True)
    ...
Run Code Online (Sandbox Code Playgroud)

视图

for presenter in event.presenters_set.all():
    is_presenter = True
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助提前.

dm0*_*514 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 %}
Run Code Online (Sandbox Code Playgroud)

如果您的检查演示者更复杂,那么将其保留在您的视图而不是模板中是很好的.您可以计算哪些主持人实际呈现,在演示者对象上放置一个标志并将其传递给您的模板.