Opened 15 years ago
Closed 15 years ago
#12599 closed (invalid)
MultiValueDictKeyError with inline admin, when inline model's ID not displayed
Reported by: | handelaar | Owned by: | nobody |
---|---|---|---|
Component: | contrib.admin | Version: | 1.1 |
Severity: | Keywords: | ||
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
An odd issue, which I don't have the Python-fu to debug fully.
I have a meta-model called 'Person' (they're parliamentarians, not that this matters especially) to which expenses and past Ministerial Offices are attached through an AdminInline interface. If I do not remove line 6 from the admin.py file attached ("exclude = ('moffice_id',)") then I can't save anything on the page because a traceback like the one attached here results. Yay, workaround available, but boo - exposing nasty IDs in editable fields where I don't want them.
I don't know whether the fact that the model Moffice does not use the default ID fieldname is a factor here or not.
Attaching a minimal admin.py and models.py and the traceback generated when the admin barfs.
Attachments (3)
Change History (4)
by , 15 years ago
by , 15 years ago
by , 15 years ago
Attachment: | traceback.txt added |
---|
comment:1 by , 15 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
If you don't what the primary key field to be displayed and editable then it needs to be made an
AutoField
, not anIntegerField
. Otherwise how else can it be assigned? I think the problem here is you have models asking for the impossible: non-displayed, non-editable, and non-auto-assigned primary keys in the inlines. I'm pretty sure simply making the primary key field anAutoField
will fix the problem. Do not manually exclude the field, the admin will correctly handle hiding the field from the user if it is defined properly.