Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#33619 closed Uncategorized (wontfix)

Proxy model does not inherite indexes and constraints from base model

Reported by: Jaska Lee Owned by: nobody
Component: contrib.admin Version: 3.2
Severity: Normal Keywords: multiple model admin
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by Jaska Lee)

Hi,

I am trying to enable multiple model admins for one model. Here is the scenario:

1) I have a model called A that has "abstract = true";
2) I have a model called B that inherits model A, which has all the fields, constraints, indexes, etc. under Meta;
3) I have a model admin for model B and everything works as expected.
4) Now, I want to create another model admin for model B. The solution is to utilize a proxy model C to B as suggested at the following link,
https://stackoverflow.com/questions/2223375/multiple-modeladmins-views-for-same-model-in-django-admin

The problem is that the proxy model C does not inherit constraints, indexes from model B. And my app has some extra logic to check index and constraint definition, the absence of which caused some problems apparently.

Is it intended behavior of proxy model? If it is, is there any other way to create multiple admins for one model?

Thanks very much,
Jaska

Change History (4)

comment:1 by Jaska Lee, 3 years ago

Description: modified (diff)

comment:2 by Mariusz Felisiak, 3 years ago

Resolution: invalid
Status: newclosed

Please don't use Trac as a support channel. You should start from checking docs about Meta inheritance.

If you're having trouble understanding how Django works, see TicketClosingReasons/UseSupportChannels for ways to get help.

comment:3 by Jaska Lee, 3 years ago

alright, thanks

comment:4 by Jaska Lee, 3 years ago

Resolution: invalidwontfix

hello,

Specific meta inheritance on the proxy model does not solve the problem. The indexes and constraints from the base model are still missing in the proxy model, while other attributes seem to be successfully inherited. The Django version is 3.2.2.

I am not necessarily looking for a solution for a use case here. The solution is clear. I was just trying to indicate how the problem occurred.

The issue seems be rather platform related which might be worth of looking into.

thanks

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