First time poster, so go easy on me... I need to create a form that will display a heading / description that comes from one model (DReq) which I can get to display in a for loop. Each dreq.desc is dependent on the results of a var that gets set and read in from the user's session. Then I need to add a couple form fields (from Saq) to each one that will relate to dreq.req_number (also displayed alongside the desc) so that I can save the user's input to the db (the DReq and MSaq are related as a MTM through another model Saq).
The best way I can figure out how to do this is to use some sort of for loop that will display each item and the respective form fields. I have gotten that far by going the template route (see below). My problem is that I do not know how to relate them to each other. Below is some of what I have come up with. If all else fails I will just create four (there are only four possible configurations for the form, but it seems like this would be more elegant in a loop, somehow relating them) individual forms to handle the task. Here is what I have come up with so far (I know this together doesn't work, it is just what I have tried in the various MTV places): forms.py: class MSForm(forms.Form): answer = forms.Charfield(widget=forms.NullBooleanSelect) note = forms.Charfield(widget=forms.TextArea) # Perhaps use a ModelForm? # class Meta: # model = DReq # fields = [ # 'answer', # 'note', # ] views.py @login_required def saq(request): current_saq = request.session.get('current_saq') question = DReq.objects.filter(s_types=current_saq) # Probably not the right place for the loop, but i was trying something different for dreq in question: if question.headline: req_headline = question.headline req_number = dreq.req_num if dreq.needs_answer: saq_form = MSForm() if request.method == 'POST': saq_form = MSForm(request.POST) if saq_form.is_valid(): # Query that pulls the requirement and assigns the correct answer to it. ... template.html -- This will display the form with the proper information (from a different views.py version), but the form inputs and the desc/reqs are not related in any way. Closest I've come except it obviously doesn't work. ... <form action="" method="post">{% csrf_token %} <ul> {% for dreq in question %} {% if dreq.headline %} <li>{{ dreq.headline }}</li> {% endif %} <li>{{ dreq.req_num }}: {{ dreq.desc}}</li> {% if dreq.needs_answer %} <div class="field">{{ saq_form.answer }} {{ saq_form.note }}</div> {% endif %} {% endfor %} </ul> <input type="submit" value="Submit"> </form> ... models.py ... # This is where the desc text comes from class DReq(models.Model): req_num = models.CharField(max_length=5, blank=False) headline = models.CharField(max_length=200, blank=True) description = models.CharField(max_length=400, blank=False) needs_answer = models.BooleanField(blank=False) s_types = models.ManyToManyField(SType) class MSaq(models.Model): complete = models.BooleanField(blank=True) d_req = models.ManyToManyField(DReq, through='Saq') # This is where the data needs to be stored and related to class Saq(models.Model): d_req = models.ForeignKey(DReq) m_saq = models.ForeignKey(MSaq) answer = models.NullBooleanField(blank=False) note = models.CharField(max_length=200, blank=True) ... I have redacted some of the names to protect the innocent, I hope it is still easy to follow. I feel like I am missing something very basic, but I just can't wrap my head around what. So, I just need to link the descriptions (which get iterated and displayed just fine) to the form fields that get displayed with them, so I can write the responses to the db. I hope this isn't info overkill. Thanks in advance. Erich -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.