Я пытаюсь сохранить выбранные пользователем параметры (параметры), выбранные пользователем в базе данных, и заполнить (проверьте/выберите) то же самое, используя данные, сохраненные в базе данных.Django: Не удалось установить флажок с помощью MultipleChoiceField с CheckboxSelectMultiple
Модель:
class ScheduledEvent(models.Model):
event_id = models.IntegerField()
project_id = models.ForeignKey(Project, db_column = 'project_id')
start_date = models.DateTimeField(null = False, default = timezone.now)
end_date = models.DateTimeField(null = False, default = timezone.now)
next_scheduled_date = models.DateTimeField(default = timezone.now)
include_week_day = models.CharField(max_length=200)
include_month_day = models.CharField(max_length=200)
Остальной код:
weekdays=(('Mon',"Monday"),
('Tue','Tuesday'),
('Wed','Wednesday'),
('Thr','Thrusday'),
('Fri','Friday'),
('Sat','Saturday'),
('Sun','Sunday'))
class CheckBoxdays(forms.ModelForm):
model = ScheduledEvent
included_week_day = forms.MultipleChoiceField(choices=weekdays, widget=forms.CheckboxSelectMultiple)
Параметры становятся сохраняются в базе данных, но выбор (варианты) не получает заселены из данных, хранящихся в базе данных.
Но следующий код работает правильно:
weekdays=(('1',"Monday"),
('2','Tuesday'),
('3','Wednesday'),
('4','Thrusday'),
('5','Friday'),
('6','Saturday'),
('7','Sunday'))
class CheckBoxdays(forms.ModelForm):
model = ScheduledEvent
include_week_day = forms.MultipleChoiceField(choices=weekdays, widget=forms.CheckboxSelectMultiple)
Параметры заполняются при первом значение в выборе кортеже быть одним символом. Я делаю что-то неправильно здесь?
Что ваша модель выглядит? –
Мне было интересно, почему бы вам не указать варианты в своей модели. – Wtower
@Wtower: Я тоже это пробовал, но получил ошибку при сохранении опций: Выберите действительный выбор. ['Wed', 'Thr', 'Fri'] не является одним из доступных вариантов. – ashu