I recently converted a site with over 60 models to newforms admin. I like the seperation of the display from the defintion, but it does introduce quite a bit more typing which isn't in the spirit of Django DRY...
I particular I got bored of typing
admin.site.register(Model, ModelAdmin)
Over and over again so I wrote this little bit of code which does a bit of introspection. It assumes that
- You import all your models into your admin.py, ie from "myapp.models import *"
- The admin class for Model is called ModelAdmin
Put this snippet at the end of your admin.py
I hope that saves someone a bit of typing!
1 2 3 4 5 | # Register Model with ModelAdmin
for name, model_admin in globals().copy().iteritems():
if name.endswith("Admin"):
model = globals()[name[:-5]]
admin.site.register(model, model_admin)
|
More like this
- Form field with fixed value by roam 1 week, 4 days ago
- New Snippet! by Antoliny0919 2 weeks, 3 days ago
- Add Toggle Switch Widget to Django Forms by OgliariNatan 3 months, 1 week ago
- get_object_or_none by azwdevops 6 months, 4 weeks ago
- Mask sensitive data from logger by agusmakmun 8 months, 3 weeks ago
Comments
Ummm...
Is this too hard to do? It does involve an extra 20 characters per model but gives you freedom to customise as needed later on and explicitly states whats going on.
#
@aarond10ster
Your referring to old-forms admin. Django 1.0 alpha uses newforms-admin and has completely decoupled admin from the models.
#
Please login first before commenting.