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) 

Все варианты успешно хранятся в базе данных. Но что бы я ни делал, я не могу отобразить это на экране. Я перепробовал все предложения, приведенные в переполнении стека, и ничего не получилось.

Любая помощь приветствуется!

0 ответов

Другие вопросы по тегам