Django newforms-admin May 17, 2008
Posted by Bosco in : django/python, programación , trackbackHoy he probado la branch newforms-admin. Hasta ahora siempre había jugado con trunk y el admin classic, pero desde que la queryset-ref se fusionó en trunk, newforms-admin hizo lo propio y ahora esta branch está casi sincronizada con todas las capacidades de la herencia y el nuevo queryset.
El interfaz del admin es exactamente el mismo que en la versión clásica, porque ya era suficientemente bueno y para qué cambiarlo entonces. Lo que sí ha cambiado es la forma de declarar las classes para que sean administrables.
Cómo funciona todo esto? En mi opinión con estos cambios será más lógico, separando la parte del Admin fuera de los Models. Michel Trier lo explica perfectamente en este screencast. Yo no voy a volver a explicarlo, ya que el screencast es super intuitivo y el ejemplo muy completo (hay cosas que no sabía que se podían hacer con el admin!).
Lo que si explicaré son 3 detalles sencillos, pero que no lo dicen en ningún sitio:
- En tu fichero settings.py debes mantener en INSTALLED_APPS la app del ‘django.contrib.admin’, tal y como funcionaba la versión classic.
- Tus modelos classic no causan incompatibilidades con los nuevos. Simplemente no los verás en el admin, pero por lo menos no peta la aplicación porque se te olvide quitar algun class Admin.
- La herencia no funciona bien. Al crear o editar un objeto heredado, entre los campos del formulario aparece una referencia recursiva al objeto padre. Habrá que esperar a que se resuelva el ticket 6755
En definitva, la newforms-admin branch es muy interesante y promete muchas mejoras y flexibilidad. Actualmente la versión no es definitiva, pero parece bastante estable y se actualiza frecuentemente con los cambios en el trunk, por lo que es una alternativa muy válida al trunk. A ver si le meten caña y la terminan pronto!

Comments»
SI, esta realmente bien lo del newforms-admin !!!
Y el hombre este (michael trier, el de ThisWeekInDjango), es una pasada, hace millones de cosas !
Lo de la herencia no funciona al 100% en ningún sitio, ni en trunk (bueno, funciona, pero le falta alguna cosa por acabar):
http://www.eflorenzano.com/blog/post/exploring-mixins-django-model-inheritance/
(dice que hay un par de patches para hacer funcionar los custom managers con clases abstractas: http://code.djangoproject.com/ticket/7252, http://code.djangoproject.com/ticket/7154)