I'm sort of stitching together contrib.databrowse (to view) and contrib.admin (to edit), and I'd like to override the *response_change* function in admin.ModelAdmin so that when you click save, it redirects back to the object in databrowse rather than the admin. I know how to do this for a specific model in admin.py, like:
class WhateverAdmin(admin.ModelAdmin): def response_change(self, request, obj): # stuff admin.site.register(Whatever, WhateverAdmin)
but I'd like to apply that to all of my models without just copying the function over and over (i.e. override it in admin.ModelAdmin itself). Where and how should I do that?
How do I read a Django HTTPResponse in Flex?
What's the best way to “embed” a page number in a URL?
Is it dangerous to leave your Django admin directory under the default url of admin?
So for example, your app is laid out as....
X-Requested-With/HTTP_X_REQUESTED_WITH weird problem
For the 2 apps you have, in the admin.py the code would be like....
\site_defaults __init__.py admin.py \your_app_1 __init__.py models.py admin.py \your_app_2 __init__.py models.py admin.py
Alternate Row Coloring in Django Template with More Than One Set of Rows
from site_defaults.admin import WhateverAdmin class YourApp1Admin(WhateverAdmin): # << note it's not admin.ModelAdmin # code over here
Django ORM: Get most recent prior object that meets a certain condition
How can I deploy a django appserver as an egg, running behind fastcgi?
How can I get Django to output bad characters instead of returning an error
Stone's Idea.. I didn't think to register each model with the same Admin class if I wasn't changing anything else.
The ones that need special changes inherit the new class, the rest call admin.site.register with it: .
class MyModelAdmin(admin.ModelAdmin): def response_change(self, request, obj): # code class SomethingAdmin(MyModelAdmin): # code specific to the Something model admin.site.register(Something, SomethingAdmin) admin.site.register(Another, MyModelAdmin) admin.site.register(OneMore, MyModelAdmin)