Слишком сложно.
Почему бы просто не запросить все объекты записей с аннотацией и (при необходимости) также связанного пользователя (или, возможно, другую аннотацию для управления отображением). В шаблоне условно отобразите {{obj.user_voted}}
{% for obj in object_list %}
stuff...
<td> {% if obj.user.name == display_user %} {{obj.user_voted}} {%endif} </td>
{% endfor %}
Вероятно, можно создать SQL с помощью Django ORM, чтобы оценить условия и установить аннотацию в нулевую строку, если пользователь ошибается. Не спрашивай меня как. Это будет включать в себя такие вещи, как F
выражения и Case
и Cast
. Есть место для такого рода сложности, но я сомневаюсь, что это так.
Иногда легче выполнить логи c того, отображать ли что-то в Python как метод свойства модели, чем в шаблоне.
@property
def display_user_voted(self)
return ... if ... else ''
{{ obj.display_user_voted }}