フォームで複数のチェックボックスを選択しようとしています。ManytoManyFields を使用して一連の選択肢をテーブルに入力する次の方法を使用しています。CHOICES は、スクリプトを使用してテーブルにコピーされます。ただし、チェックボックスを選択した後、次のエラーが発生します。
Select a valid choice. [u'_CU', u'_EN'] is not one of the available choices.
モデル内:
class A(models.Model):
MyPersonalityType = models.ManyToManyField(P)
CHOICES = (
('_NN', 'Choice 1...'),
('_GK', ''),
('_SA', ''),
('_ES', ''),
('_SH', ''),
('_CU', ''),
('_EN', ''),
)
class P(models.Model):
slug = models.CharField(primary_key=True, max_length=32)
title = models.CharField(unique=True, max_length=124)
形式:
MyPersonalityType = forms.ChoiceField(choices=CHOICES, widget=forms.CheckboxSelectMultiple())
次のコードを追加します。
for tag,des in CHOICES:
new = P(slug=tag, title=des)
new.save()
テンプレートは次のとおりです。
{% for field in form %}
<div class="fieldWrapper">
{{ field.errors }}
{{ field.label_tag }}: {{ field }}
</div>
{% endfor %}