0

フォームで複数のチェックボックスを選択しようとしています。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 %}
4

0 に答える 0