2009-03-04 35 views
10

Deseo heredar una clase de modelo de un código de un tercero. No utilizaré algunos de los campos, pero quiero que mi cliente pueda editar el modelo en Admin. ¿Es la mejor opción esconderlos de la administración o, en primer lugar, puedo evitar que se creen?Django Model Herencia. Ocultar o eliminar campos

Además, ¿qué puedo hacer si se requiere uno de los campos no deseados? Mi primer pensamiento es anular el método guardar y simplemente poner en un valor predeterminado.

Respuesta

4

Si está heredando el modelo, probablemente no sea prudente intentar ocultar o deshabilitar los campos existentes. Lo mejor que probablemente podría hacer es exactamente lo que sugirió: anular save() y manejar su lógica allí.

5

Puede controlar los campos que se pueden editar en la administración.

De la documentación de Django:

"Si desea un formulario para el modelo de Autor que incluye sólo el nombre y el cargo campos, se especificaría campos o excluir de esta manera:

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

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

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

Cuestiones relacionadas