Un modello ModelForm farà quasi tutto ciò che fa l'amministratore (ForeignKeys si trasformerà in una selezione a discesa, ManyToManyFields diventerà una selezione multipla).
L'eccezione principale sarebbero i piccoli pulsanti verdi e verdi per aggiungere una nuova voce. Sarebbe piuttosto difficile renderli generici, poiché dipendono da un numero di cose specifiche dell'amministratore: sapere dove trovare una pagina di aggiunta per il modello collegato; JS per far apparire una finestra, chiuderla su submit e aggiornare la pagina genitore; ecc. Puoi scavare nell'amministratore e capire come implementa quelle sottigliezze extra, ma non ci sarà un modo semplice per inserirle nel tuo codice.
L'altro finezza che si potrebbe desiderare è l'interfaccia utente filter_horizontal o filter_vertical per ManyToManyField. Questi sono implementati come ordinary form widgets, quindi il potenziale è lì per riutilizzarli nel proprio codice, ma suppongo che ci vorranno alcuni esperimenti e personalizzazioni per farlo funzionare correttamente.
fonte
2009-10-28 16:20:15
I pulsanti più verdi sono le sottigliezze che cercavo. Quindi, questo conferma che non esiste un modo semplice. Grazie! – toaster