2009-03-04 21 views
10

Desidero ereditare una classe del modello da un codice di terze parti. Non userò alcuni dei campi ma voglio che il mio cliente sia in grado di modificare il modello in Admin. È la migliore scommessa per nasconderli dall'amministratore o posso effettivamente impedire che vengano creati in primo luogo?Ereditarietà del modello di Django. Nascondere o rimuovere campi

Inoltre, cosa posso fare se è richiesto uno dei campi indesiderati? Il mio primo pensiero è quello di sovrascrivere il metodo di salvataggio e inserire semplicemente un valore predefinito.

risposta

4

Se si eredita il modello, probabilmente non è saggio cercare di nascondere o disabilitare i campi esistenti. La cosa migliore che potresti fare è esattamente quello che hai suggerito: ignora save() e gestisci la tua logica.

5

è possibile controllare i campi che sono modificabili in admin.

Dalla documentazione Django:

"Se vuoi un modulo per il modello di autore che include solo il nome e il titolo campi, è necessario specificare i campi o escludere in questo modo:

class AuthorAdmin(admin.ModelAdmin): 
    fields = ('name', 'title') 

class AuthorAdmin(admin.ModelAdmin): 
    exclude = ('birth_date',)" 

http://docs.djangoproject.com/en/dev/ref/contrib/admin/

Problemi correlati