Opened 8 years ago
Last modified 8 years ago
#27273 closed Cleanup/optimization
Make usage of construct_change_message easier outside of admin — at Initial Version
Reported by: | Alexey Rogachev | Owned by: | nobody |
---|---|---|---|
Component: | contrib.admin | Version: | dev |
Severity: | Normal | Keywords: | admin, form |
Cc: | Triage Stage: | Accepted | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
I use django-reversion library in one of my projects. In admin it uses ModelAdmin
's change message generated by construct_change_message
method as revision comment. Besides admin I also need to generate same change message on object creation / editing on frontend part of a site.
Using construct_change_message
outside of admin is now possible like that:
from django.contrib.admin import AdminSite from enterprises.admin import EnterpriseAdmin comment = EnterpriseAdmin(enterprise, AdminSite).construct_change_message(request, form, formsets, create)
enterprise
is either created or edited model, create
- boolean variable (True
when create and False
otherwise).
I think it's not clean to refer to admin from frontend like that.
As a suggestion, we can move the method outside of a class. It does not use self
also.
Another option is to make this method static, but this will just reduce a bit of code, and problem of referring from frontend to admin will still present.