Вы можете вызывать только методы без параметров. Так что {{ object.has_voted }}
было бы хорошо, если бы метод был определен просто как has_voted(self)
, но, как вы показали, этого не будет.
Лучший способ передать параметр в метод - это определить простой шаблонный фильтр.
@register.filter
def has_voted(obj, user):
return self.has_voted(user)
и назовите его:
{{ object|has_voted:user }}