Я использую django-multiselect
. В HTML все элементы отображаются, но те, которые уже проверены, не показывают, что они проверены. Я смотрел на документацию , но она проверяется заранее. В частности, эта строка кода не работает: {% if value in myroles %}checked="checked"{% endif %}
Может кто-то увидеть, что я сделал не так?
HTML
{% for value, text in form.role.field.choices %}
<div class="ui slider checkbox">
{{ value }}{{ text }}
<input id="id_role_{{ forloop.counter0 }}" name="{{ form.role.name }}" type="checkbox" value="{{ value }}" {% if value in myroles %}checked="checked"{% endif %}>
<label>{{ text }}</label>
</div>
{% endfor %}
models.py
aaa= 1
bbb= 2
ccc= 3
ddd= 4
eee= 5
ROLE_CHOICES = (
(aaa, 'AAA'),
(bbb, 'BBB'),
(ccc, 'CCC'),
(ddd, 'DDD'),
(eee, 'EEE'),
)
class myClass(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True)
role = MultiSelectField(choices=ROLE_CHOICES, default=True)
Когда я запускаю этот код на html-странице:
{% for i in myroles %}
{{ i }}{{ value }}
{% endfor %}
Я получаю вывод 11
Это сбивает меня с толку, почему мое вышеупомянутое выражение if не работает.