2012-09-24 15 views
7

Ho un'interfaccia di amministrazione con post di blog, con modelli in linea che sono versioni precedenti del post.Aggiungi un'azione personalizzata a un oggetto in linea Django sull'interfaccia di amministrazione

vorrei aggiungere un'azione per ognuno di versione precedente (Un'azione Revert, il metodo modello personalizzato)

come dovrei andare a fare che? la sua un pò simile alle azioni ModelAction parola chiave, ma voglio che sia dentro la vista del modello, non vista elenco e anche la sua per ogni modello in linea, non per il modello di genitore

piacerebbe qualche aiuto.

per renderlo più chiaro

mia classe previous_version ha una funzione denominata ripristino. tutto quello che voglio è che nella visualizzazione del post del mio blog nel pannello di amministrazione di ogni versione precedente avrò un link o un pulsante o qualcosa del genere. e premendolo si chiamerà previous_version.revert.

risposta

2

Credo che la cosa giusta da fare questo è Admin azioni come descritto nella documentazione -

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

+3

Questo non è quello che sto cercando. Le azioni di admin di django servono per interagire con gli elenchi di oggetti (nel mio caso sarebbero elenchi di post di blog). Voglio avere un pulsante nella vista del singolo post del blog. In realtà ho fatto un piccolo trucco per farlo sovrascrivendo il modello, ma stavo cercando un modo migliore. – Omri

1

È possibile estendere Blog ModelAdmin con l'azione revert.

Sostituire modello di modello in linea per aggiungere un pulsante, come hai detto che hai già fatto è un buon modo per farlo.

Assicurati di racchiudere la vista creata entro admin_view e consentire solo le richieste di posta.

Problemi correlati