Ситуация
У меня есть класс модели с целочисленным полем (= scored_place_number).
Я хочу использовать, чтобы выбрать 1, 2 или 3 для поля, для которого я устанавливаю поле формы как
forms.MultipleChoiceField # set it to IntegerField
в форме.
Проблема
Форма отображается нормально, но когда форма отправляется нажатием на кнопку отправки, django отображает ошибку.
Enter a list of values
Она выиграла, когда я не указал формы. MultipleChoiceField, так что я догадываюсьчто-то не так с объединением целочисленного поля с MultipleChoiceField.
Вопрос
Как я могу использовать формы. НесколькоChoiceField для IntegerField модели?
Код
Модель
class ComparisonScore(models.Model):
comparison = models.ForeignKey(Comparison, on_delete=models.CASCADE, null=True)
first_place = models.ForeignKey(Place, related_name="scored_place", on_delete=models.CASCADE, null=True)
second_place = models.ForeignKey(Place, related_name="unscored_place", on_delete=models.CASCADE, null=True)
scored_place_number = models.IntegerField(null=True)
Форма
class ComparisonScoreForm(forms.ModelForm):
class Meta:
model = ComparisonScore
fields = '__all__'
scored_place_number = forms.MultipleChoiceField(
required=True,
widget=forms.RadioSelect,
choices=(
('neither', 0),
('first_place', 1),
('second_place', 2)
)
)
Вид
class CreateComparisonScoreView(CreateView):
model = ComparisonScore
form_class = ComparisonScoreForm
success_url = reverse_lazy('comparison:index')