1
私はソングリストフォームを作っています。テンプレートファイルでDjangoのModelMultipleChoiceFieldをレンダリングする方法は?
models.py
class Song(models.Model):
title = models.CharField(max_length=60)
class List(models.Model):
title = models.CharField(max_length=100)
songs = models.ManyToManyField(Song, through='Order')
class Order(models.Model):
list = models.ForeignKey(List)
song = models.ForeignKey(Song)
order = models.IntegerField(unique=True)
と、
forms.py
class ListEditForm(forms.Form):
title = forms.CharField(
label='List Title',
widget=forms.TextInput(attrs={'size':100})
)
songs = forms.ModelMultipleChoiceField(
label= 'Song Order',
required= False,
widget=forms.CheckboxSelectMultiple,
queryset= Song.objects.none()
)
、次いで、
ListEditForm.py
<form id="edit-form" method="post" action="/list/edit/">
<p>
{{ form.title.errors }}
{{ form.title.label_tag }}
{{ form.title }}
</p>
<p>
{% for song in form.songs %}
{{ song.label_tag }}
{{ song }}
{% endfor %}
</p>
<input type="submit" value="save" />
</form>
このテンプレートは、次のエラーが発生:「BoundField」オブジェクトは、私が「form.songs」で各フォームフィールドをレンダリング分割するにはどうすればよいのiterable
ではありません。レンダリング中 は、例外をキャッチ?
ご返信ありがとうございます。 私の英語が壊れて申し訳ありません。 –