﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
33447	min_num on formsets should not just be added to extra, again	typonaut	nobody	"I have read #22628 and #27679.

I can see that the documentation says that if you have `min_num = 1` and `extra = 1` then you will get two blank inline forms in a new form.

I am flagging this as a new feature, although I think it is really a bug.

When using `forms.models.inlineformset_factory` `min_num` and `extra` input parameters are available. Logically `min_num` is really a validation parameter where `extra` is a utility/UI parameter. I believe that given this logic, with a new form and `min_num = 1` and `extra = 1` then there should only be one inline form displayed, rather than two as currently happens.

I would propose to add an additional input parameter to control this bahaviour and account for any backward compatibility issues: `min_num_minimise` as a boolean.

{{{
forms.models.inlineformset_factory(… 
                  extra=1,
                  min_num=1,
                  min_num_minimise=True
                  )
}}}

This would render one inline form on a new form, where:

{{{
forms.models.inlineformset_factory(…
                  extra=1,
                  min_num=1,
                  min_num_minimise=False,
                  )
}}}

Would maintain the current behaviour – with the default being `min_num_minimise=False`.

I believe that the current implementation is more than a little confusing from a UI perspective. While it is possible to code around this implementation and test for at least `min_num` forms, that is quite a lot of work and more prone to break with updates.

In addition, there is a bug in behaviour: if `min_num` is greater than zero, a form action that deletes all existing inline forms is valid, which should not be the case."	New feature	new	Forms	3.2	Normal		inlineformset_factory min_num extra		Unreviewed	0	0	0	0	0	1
