Opened 10 months ago

Last modified 10 months ago

#34979 closed Uncategorized

inlineformset_factory sets max_num forms to one even though there is a unique_together constraint — at Initial Version

Reported by: Evan Edward Hallein Owned by: nobody
Component: contrib.admin Version: 3.2
Severity: Normal Keywords: inline admin
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: yes

Description

I have a unique_together primary key in one of my models. When adding an inline admin for that model, the interface only allows adding one new object. I have tracked it down to code in django/django/forms/models.py:

fk = _get_foreign_key(parent_model, model, fk_name=fk_name)
    # enforce a max_num=1 when the foreign key to the parent model is unique.
    if fk.unique:
        max_num = 1

While this makes sense for a single unique primary key, it is the wrong behavior for a composite primary key.

Is a fix needed in Django so multiple objects with unique_together primary keys can be added as inlines, or should this be done using custom code?

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top