2012-07-12 47 views
0

尝试循环显示事件的演示者字段。然后将它们标记为is_presenter模板中的主持人。循环访问manytomany字段并返回模板标签

我想我的问题是:如何正确地循环访问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 

感谢您提前帮助。

回答

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 %} 

如果你的检查主持人是任何更复杂的东西,然后像上面那将是很好的保持它在你的观点,而不是在你的模板。您可以计算出哪位演示者实际呈现的内容,在演示者对象上放置一个标记并将其传递给您的模板。