Hi all, I am writing a tool that implements NIST security controls and having trouble implementing inlineformset_factory, which I think is the solution to this problem.
Background: I have two models, one is called 'Controls' and the other is 'Implementation'. When the user goes to a page, the views.py should query several relevant controls as text (not as a Form) and then an Implementation form immediately afterwards. This will be repeated depending on the number of Controls are found. So, lets suppose there are 20 controls, you should see a table with the following: {% for control in controlset %} Control Name: "This is the control name 1" -- Presumably this comes from: {{ control.name.value }} Control Description: "This is the control description 1" -- Presumably this comes from: {{ control.description.value }} Implementation Statement: [Input type=text name=1_implementation] -- Not sure how to display this Implementation Status: [Input type=text name=1_status] -- Not sure how to display this {% endfor %} (This is pseudo-code, removed the HTML for visibility) This frame should be repeated depending on the number of controls, it could be 5, 20 or 100, then a submit button. When the user submits the data, I want to capture this data into several 'Implementation' objects and save them in the database. My failing code currently does this: ControlImplementationSet = inlineformset_factory(Controls, Implementation) allControls = Controls.objects.get(pk=1) controlset = ControlImplementationSet(instance=allControls) Even though I want multiple forms, I used the Controls.objects.get(pk=1) to specify a single control. When I send the variable controlset as a context to be displayed as: {{ controlset }} I oddly get 3 forms that look like autogenerations of the Implementation form with an extra "Delete" option. That makes no sense to me. I don't know understand why this is displayed. I want to display the queried controls, followed by an implementation form. My questions are: 1. Why do I get 3 "Implementation" forms, instead of just 1, when I did Controls.objects.get(pk=1), which should specify a single Control? 2. How do I display multiple Implementation Forms for each Control that is returned? 3. How do I only display certain elements of the Implementation form, not every field in the model as an HTML <input> field? 4. How do I have my views.py interpret the submitted Implementation form data from the user? And last but not least...is there a sample of this? Surely I am not the first one who has done this, and the he documentation is not making sense to me. https://docs.djangoproject.com/en/1.7/topics/forms/modelforms/#inline-formsets Please advise, this is day two, quite frustrated. Thanks, Farhan -- 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 post to this group, send email to django-users@googlegroups.com. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/89495462-3f99-4b9d-86bd-61db11126b94%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.