Мне очень тяжело с этой проблемой, потому что я нашел ответ, но он не работает. У меня есть приложение Django с формой с полем SelectMultiple / CheckboxSelectMultiple ...
Моя цель
Мне нужно перебрать шаблон над параметрами моего поля "метки".
Печать {{ form.labels }}
в шаблоне работает нормально (то есть, объект туда попадает).
Моя проблема
Во всем Интернете я нашел один и тот же способ сделать это - и я попробовал все возможные варианты. Пример см. В ответе Джаррета Харди здесь .
Мой код
models.py
class myModle(models.Model):
labels = models.CharField(max_length=1000)
class Meta:
db_table = u'myTable'
forms.py
class MYMODELForm(ModelForm):
class Meta:
model = myModel
def __init__(self, *args, **kwargs):
super(MYMODELForm, self).__init__(*args, **kwargs)
labelList = set()
#now I'm filling the set with strings (label names)
#one of the two following line:
self.fields['labels'] = forms.CharField(required=False,widget=forms.CheckboxSelectMultiple(choices=[(x,x) for x in labelList]))
self.fields['labels'] = forms.CharField(required=False,widget=forms.SelectMultiple(choices=[(x,x) for x in labelList]))
myTemplate.html
<table>
<tr>
<td>
<!-- All variations of... -->
{% for choice_id, choice_label in form.labels.field.items %}
{{ choice_id }} = {{ choice_label }} <br/>
{% endfor %}
</td>
</tr>
</table>
myStyle.css
Nothing interesting her...
views.py
Nothing interesting her...
Итак ...
Почему это не работает ???