2012-02-17 11 views
5

Sto usando un'app di terze parti nella mia webapp django. Ma io voglio personalizzare la vista amministratore per uno dei modelli nell'app di terze parti. La personalizzazione è più che modificare il modello change_list.html, ad esempio, sarà necessario aggiungere il codice per parlare con un servizio web esterno ecc.Dove posso modificare il codice di visualizzazione amministratore per un'app di terze parti?

Tuttavia, non desidero modificare l'app di terze parti. Invece voglio scavalcarlo. Come faccio a ignorare lo ModelAdmin per un modello che proviene da un'app di terze parti?

risposta

17

Questo dovrebbe iniziare:

from django.contrib import admin 
from thirdpartyapp.models import ThirdPartyModel 
from thirdpartyapp.admin import ThirdPartyAdmin 

class CustomThirdPartyAdmin(ThirdPartyAdmin): 
    pass 


admin.site.unregister(ThirdPartyModel) 
admin.site.register(ThirdPartyModel, CustomThirdPartyAdmin) 

Io uso questo spesso per personalizzare l'UserAdmin as shown in this answer.

+1

È necessario annullare la registrazione del modello, non del suo amministratore. – MechanTOurS

+1

Hai ragione. L'ho appena risolto –

+1

Dove dovrebbe andare questo codice? In una nuova cartella all'interno della cartella principale del progetto con il nome 'thirdpartyapp'? – kahlo

Problemi correlati