Как иметь два аргумента в пользовательском фильтре django

Я пытаюсь манипулировать двумя объектами для расчета, однако получаю ошибку: "Invalid filter"

Во фронтенде html у меня есть вложенный цикл с объектами: единицы и человек в следующем виде:

{{units|myFilter:person}}

где у единиц есть несколько объектов, а у человека только один.

мой фильтр определяется:

def myFilter(units,person):
    n = 0
    for i in units:
        if i.name == person.name:
            n = n + 1
    return n

Но он не работает, есть идеи или предложения, пожалуйста?

<
from django import template

register = template.Library()

@register.simple_tag
def my_tag(a, b):
    print(a, b)

    return 'What you need'
Вы можете зарегистрировать функцию , которая принимает любое количество позиционных или ключевых аргументов;

А вот как использовать его в вашем шаблоне;

{% my_tag 123 "abcd" %}

Вот документация; https://docs.djangoproject.com/en/1.8/howto/custom-template-tags/#simple-tags

Вернуться на верх