item.itemstatushistory_set.latest вернет последний объект из набора запросов, поэтому вы сравниваете объект со строкой.
Представляет ли Unicode представление itemstatushistory модель определенно "Уничтоженным"?
Возможно, было бы проще иметь функцию в itemstatushistory, чтобы возвращать, уничтожена ли она или нет, вместо сравнения в шаблоне? Или, что еще лучше, в модели элементов есть функция для возврата последнего объекта itemstatushistory, который может иметь функцию is_destroyed?
class Item(models.Model):
status_history = models.ManyToManyField(ItemStatusHistory):
...
def get_latest_status(self):
return self.status_history.all().latest()
class ItemStatusHistory(models.Model):
destroyed = models.BooleanField(default=False)
def is_destroyed(self):
if self.destroyed:
return true;
return false;
{% for item in items %}
{% if item.get_latest_status.is_destroyed %}
{{ count|add:"1" }}
{% end if %}
{% endfor %}