У меня есть набор запросов в Django, который содержит строковое поле.Это имя файла, например, images/photo.jpg
или images/photo.20.19.22.jpg
.Мне нужно переписать их в одном конкретном представлении, чтобы ".thumbnail" был вставлен перед расширением.Предыдущие имена должны стать images/photo.thumbnail.jpg
и images/photo.20.19.22.thumbnail.jpg
.
Каков наилучший способ сделать это?Это часть набора запросов, поэтому он будет выглядеть так:
{% for record in list %}
{{ record.image }}
{% endfor %}
Теперь, конечно, я бы хотел сделать это за пределами моего шаблона.Однако я не вижу способа, которым я могу это сделать.В конце концов, это необходимо сделать для каждой записи в моем наборе запросов.Чтобы усложнить вещи, эта запись не приходит напрямую от модального.Эта запись взята из подзапроса, поэтому я не вижу способа изменить сам модал.Должен ли я использовать шаблоны тегов для этого?Любые другие рекомендации?
К вашему сведению подзапрос выглядит примерно так:
>>> from django.db.models import OuterRef, Subquery
>>> newest = Comment.objects.filter(post=OuterRef('pk')).order_by('-created_at')
>>> Post.objects.annotate(image=Subquery(newest.values('image')[:1]))