You could build a builder function that does what you want (totally
untested, rough example).  The form_for_model functions are good
working examples if I screwed something up here.

def form_builder(question_instance):
    base_fields={'text': forms.CharField(widget=forms.Textarea,
help_text=question_instance.exampleAnswer,
verbose_name=question_instance.questionText) }
    return type('QAForm', (forms.BaseForm), {'base_fields':
base_fields})

def form_set_builder(question_set,postdata=None):
   form_set=[]
   valid=True
   for q in question_set:
       Form=form_builder(q)
       # will use question pk id as prefix to differentiate the forms
from one another
       if postdata: # bound form if request.POST passed in as postdata
            form=Form(postdata,prefix=q._get_pk_val())
            valid=form.is_valid()
       else: # unbound form
            form=Form(prefix=q._get_pk_val())
       form_set.append(form)
   return form_set, valid

def view(request):
   qs = Question.objects....
   if request.POST:
       form_set,valid=form_set_builder(qs,request.POST)
       if valid:
            #loop through and save
             ....
       else:
           return with errors
   else:
      form_set,throwaway=form_set_builder(qs)
    ....


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to