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
- Template tag - list punctuation for a list of items by shapiromatron 10 months, 2 weeks ago
- JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 10 months, 3 weeks ago
- Serializer factory with Django Rest Framework by julio 1 year, 5 months ago
- Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 6 months ago
- Help text hyperlinks by sa2812 1 year, 7 months 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.