模板中For中的自定义过滤器标签

时间:2018-06-29 08:00:42

标签: django

我正在写一个报告页面,我需要显示一个与另一个表相关的表中的数据(外键...),但是当我使用我的过滤器标签过滤一个查询集并带给我所有被元素ID过滤的数据时我的forloop出现错误

模型

class Foo(models.Model):
    ...

class Bar(models.Model):
    foo = models.ForeignKey(Bar)
    ...

TemplateTag

from django import template
from .models import Foo, Bar

register = template.Library()

@register.filter
def get_bar_from_foo(self)
    return Bar.objects.filter(foo__id=self.id)

HTML

{% for fo in foos %}
    {% with bars=fo|get_bar_from_foo %}
       {% for bar in bars %}
           {{ bar }}
       {% endfor %}
    {% endwith %}
{% endfor %}

1 个答案:

答案 0 :(得分:0)

Dam,我只是忘记将模板标签加载到模板中...