我希望能够过滤模板中的模型(或找到不同的解决方案来解决我的问题)。相关模型如下所示:
class CommissionElection(models.Model):
title = models.CharField(max_length=64)
commission = models.ManyToManyField(Commissie, related_name="elections")
class ElectablePerson(models.Model):
commission = models.CharField(max_length=128)
election = models.ManyToManyField(CommissionElection, related_name="electables")
class Commissie(models.Model):
commissie = models.CharField(max_length=64)
在这里,Commissie是来自不同应用程序的模型。
我已经为一个特定的选举创建了一个页面,现在我想在该页面上列出每个委员会的名单,其中列出了所有声明自己可以当选该委员会(和该选举)的ElectablePersons。
我在我的模板中尝试了以下操作:
{% for commission in election.commission.all %}
{{ commission }}
{% for electable in election.electables.filter(commission=commission) %}
{{ electable}}
{% endfor %}
{% endfor %}
这给出了错误
无法分析其余部分:'(commission = commission)'来自'election. electables. filter(commission = commission)'
我是否可以过滤模板中的模型,或者是否有其他方法可以做到这一点?
1条答案
按热度按时间k97glaaz1#
您可以简单地将过滤器函数移动到模型定义中。
然后在模板中,调用定义的方法和循环
更新:使用自定义模板过滤器
在应用程序目录下创建一个templatetags目录,然后在其中创建electables.py文件
然后在您的模板中