On 20/02/2018 11:16 AM, Mike Dewhirst wrote:
Here is an example of get_choices() output ... it comes from a method on the Question model.

 [('A', 'A - Once?'), ('B', 'B - Twice?'), ('C', 'C - Four times?'), ('D', 'D - Twelve times?'), ('E', 'E - Continously as changes are made?')]

It is available before the the answer form is instantiated ...

class AnswerSingleForm(forms.ModelForm):

    class Meta:
        model = Answer
        fields = [
            'answer',
            'score'
        ]


This is my new form which seems to work ...

class AnswerSingleForm(forms.ModelForm):

    def __init__(self, *args, **kwargs):

        super(AnswerSingleForm, self).__init__(*args, **kwargs)

        answer = kwargs['instance']

        choices = answer.question.get_choices()

        if len(choices) > 0:

            self.fields['answer'] = forms.ChoiceField(

                choices=choices

            )

    class Meta:

        model = Answer

        fields = [

            'answer',

            'score'

        ]









So how do I get that set of choices into the Answer form?

I can see from the docs that the form Meta class can have a widgets attribute for the 'answer' field. I think I need a ChoiceField widget so I can include the choices. I tried using __init__() in the form class to get the choices on board at instantiation but still couldn't get it going because class Meta doesn't see 'self'.

Thanks for any help

Stumped


--
You received this message because you are subscribed to the Google Groups "Django 
users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/8a7fbe08-214e-745e-15ee-89303ea7a774%40dewhirst.com.au.
For more options, visit https://groups.google.com/d/optout.

Reply via email to