from django.forms import ( Form, ModelForm, ModelMultipleChoiceField, ModelChoiceField, ChoiceField, CharField, ) from django.forms import inlineformset_factory from generic.forms import ExamAuthorFormMixin, ExamFormMixin from .models import ( Question, CidUserAnswer, Exam, ) from django.contrib.admin.widgets import FilteredSelectMultiple from django.forms.widgets import RadioSelect, TextInput, Textarea class CidUserAnswerForm(ModelForm): class Meta: model = CidUserAnswer fields = ["answer"] def __init__(self, *args, **kwargs): super(CidUserAnswerForm, self).__init__(*args, **kwargs) self.fields['answer'].required = False # This should be made generic? class ExamForm(ExamFormMixin, ModelForm): class Meta(ExamFormMixin.Meta): model = Exam class ExamAuthorForm(ExamAuthorFormMixin): class Meta(ExamAuthorFormMixin.Meta): model = Exam