2012-09-24 21 views
7

Tengo una interfaz de administrador que tiene una publicación de blog, con modelos en línea que son versiones previas de la publicación.Agregar acción personalizada al objeto en línea de Django en la interfaz de administrador

Me gustaría añadir una acción para cada uno de la versión anterior (Una acción de reversión, método de modelo personalizado)

¿Cómo debo ir haciendo eso? su algo similar a las acciones ModelAction de palabras clave, pero quiero que sea dentro de la vista del modelo, no la vista de lista y también su para cada modelo en línea, no para el modelo padre

les gustaría un poco de ayuda.

para hacerlo más claro

mi clase previous_version tiene una función llamada de reversión. todo lo que quiero es que en la vista de mi blog en el panel de administración de cada versión anterior, tendré un enlace o botón o algo. y al presionarlo se llamará a previous_version.revert.

Respuesta

2

supongo que lo que hay que hacer esto es acciones de administración como se describe en la documentación -

https://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/

+3

Eso no es lo que estoy buscando. Las acciones de administración de django son para interactuar con listas de objetos (en mi caso eso serían listas de publicaciones de blog). Quiero tener un botón en la vista de publicación de blog único. De hecho, hice un pequeño truco para hacerlo anulando la plantilla, pero estaba buscando una mejor manera. – Omri

1

Puede extender Blog ModelAdmin con la acción revert.

Reemplazar la plantilla de modelo en línea para agregar un botón, como dijiste que ya hiciste es una buena manera de hacerlo.

Solo asegúrese de ajustar la vista creada en admin_view y permitir solo las solicitudes de envío.

Cuestiones relacionadas