Пользовательский тег 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 %}