То, как я это сделал, выглядит следующим образом ...
condition = True
while condition:
do_stuff()
condition = (<something that evaluates to True or False>)
Мне кажется, что это упрощенное решение, я удивлен, что я не видел его здесь уже. Очевидно, это также можно инвертировать в
while not condition:
и т. Д.
Как уже упоминалось в комментариях, просто измените {{ item.history_type }}
на {{ item.get_history_type_display }}
в шаблоне.
Это на самом деле функциональность vanilla django и объясняется в Ссылка на экземпляр модели .
Для каждого поля, в котором установлено выбор , объект будет иметь метод get_FOO_display () , где FOO это название поля. Этот метод возвращает «удобочитаемое» значение поля.
blockquote>Почему это работает для поля
history_type
django-simple-history?Довольно просто: поле
history_type
имеет вышеупомянутоеchoices
задавать. Я проверил это, посмотрев их исходный код на github.blockquote>"history_type": models.CharField( max_length=1, choices=(("+", _("Created")), ("~", _("Changed")), ("-", _("Deleted"))), ),