Any hint on the above doubt will work fine. On Wednesday, August 5, 2020 at 12:32:23 AM UTC+5:30, NIKHIL RAJGARHIA wrote: > > Hi All, > > I am unable to understand the below logic for '*BaseInlineFormSet*' and ' > *inlineformset_factory*'. > > 1. What is the use of 'formset' in 'inlineformset_factory'? > 2. What is the use of validation inside 'BaseInlineFormSet'? How it works? > I haven't seen any implementation like this validation in normal forms. > > As I have only worked with general forms, I was exploring on 'formset', > but, couldn't understand this piece of example. I know 'formset' is used to > create multiple forms on the same page. > > AnswerFormSet = *inlineformset_factory*( #this will be an instance of the > form > Question, # parent model > Answer, # base model or child model > formset=*BaseAnswerInlineFormSet*, > fields=('text', 'is_correct'), > min_num=2, > validate_min=True, > max_num=10, > validate_max=True > ) > > class *BaseAnswerInlineFormSet*(forms.BaseInlineFormSet): > def clean(self): > super().clean() > > has_one_correct_answer = False > for form in self.forms: > if not form.cleaned_data.get('DELETE', False): > if form.cleaned_data.get('is_correct', False): > has_one_correct_answer = True > break > > if not has_one_correct_answer: > raise ValidationError('Mark at least one answer as correct.', > code='no_correct_answer') > > Thank you in advance. > > >
-- 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 django-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/88f21d49-ef10-4370-b4fe-49299be0e68ao%40googlegroups.com.