Django MultipleChoiceField не показывает сохраненные варианты
Вот как выглядит моя форма.
class DecisionMadeForm(forms.ModelForm):
option = forms.MultipleChoiceField(required=False, label = "Which option(s) did you choose? (Please check ALL that apply)")
class Meta:
model = Decision_Made
fields = ('option', )
def __init__(self, *args, **kwargs):
dec_id = kwargs.pop("dec_id")
choicelist = kwargs.pop("choicelist")
super(DecisionMadeForm, self).__init__(*args, **kwargs)
instance = getattr(self, 'instance', None)
query = Solution_Options.objects.filter(dec_id = dec_id, archived = 'N').values_list('option', flat=True).distinct()
query_choices = [(id, id) for id in query]
self.fields['sol_option']=forms.MultipleChoiceField(choices=query_choices, required=False, widget=forms.CheckboxSelectMultiple,label="Which choice did you make?")
if self.instance:
self.fields['sol_option'].initial = choicelist
В моих views.py
def decision_made(request):
try:
dec_made = Decision_Made.objects.get(dec_id = dec_id)
except ObjectDoesNotExist:
REDIRECT TO DIFFERENT PAGE
if request.method == 'POST':
decmadeform = DecisionMadeForm(request.POST, instance=dec_made, dec_id=dec_id, optionlist = dec_made.option)
if decmadeform.is_valid():
id = decmadeform.save(commit=False)
...
else:
decmadeform = DecisionMadeForm(instance=dec_made, dec_id = dec_id, optionlist = dec_made.option)
Все варианты успешно хранятся в базе данных. Но что бы я ни делал, я не могу отобразить это на экране. Я перепробовал все предложения, приведенные в переполнении стека, и ничего не получилось.
Любая помощь приветствуется!