Пользовательский тег django для передачи определенного поля в фильтр

Я использую django-simple-history для записи изменений в модели, я написал кучу пользовательских методов для модели, чтобы извлечь последнюю дату изменения из истории, по одному для каждого поля, которое меня интересует, но это много дублирования и на самом деле совсем не DRY.

Мне кажется, что я должен быть в состоянии упростить это, используя пользовательский тег и передавая поле, которое я хочу, но я не могу заставить его работать.

customtags.py:

from django import template

register = template.Library()

@register.simple_tag
def get_latest_record(issue, field):
    record = issue.history.filter(field = 1).most_recent
    return record

в моем шаблоне:

{% get_latest_record issue 'name_of_field' %}

Убедитесь, что ваш файл customtags.py находится в каталоге templatetags (__init__.py также необходим), а затем перезапустите сервер

polls/
__init__.py
models.py
templatetags/
    __init__.py
    poll_extras.py
views.py

Тогда в шаблоне {% load customtags %}

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