0

尝试遍历演示者字段以获取事件。然后在模板中将他们标记为演示者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

感谢您提前提供帮助。

4

1 回答 1

6

它不太清楚你想要完成什么。如果你在模板中做这个检查你可以做类似的事情

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

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

于 2012-07-12T21:54:01.607 回答