python - template - personalizar admin django
Cómo agregar readonly inline en django admin (3)
Estoy usando django 1.4 y tengo un campo many2many, así que al crear el sitio de administración, quería agregar este campo como una línea, aquí hay algo de código:
class SummaryInline(admin.TabularInline):
model = ParserError.summaries.through
class MyClassAdmin(admin.ModelAdmin):
list_display = (''classifier'', ''name'', ''err_count'', ''supported'')
fields = (''classifier'', ''name'', ''err_count'', ''err_classifier'', ''supported'')
inlines = (SummaryInline,)
readonly_fields = (''classifier'', ''err_count'')
Entonces mi pregunta es, ¿cómo puedo hacer que el campo en línea sea de solo lectura?
Además, si no desea la posibilidad de agregar / eliminar las filas, puede agregar estas definiciones.
def has_add_permission(self, request, obj=None):
return False
def has_delete_permission(self, request, obj=None):
return False
Después de un tiempo de intentar encontrar el nombre, descubrí gracias a esta respuesta , así que revisé los nombres en self.opts.local_fields
y encontré el nombre de la tabla central y lo agregué a readonly_fields
, estableciendo can_delete
en False.
class SummaryInline(admin.TabularInline):
model = ParserError.summaries.through
readonly_fields = (''myclasssummary'',)
can_delete = False
bastante simple pero me tomó un tiempo, así que me di cuenta de que era una buena idea agregarlo aquí.
Gracias Keval Prabhu
class UnitsInline(admin.TabularInline):
model = Units
extra = 0
verbose_name = ''Units''
verbose_name_plural = ''Units of company''
**def has_add_permission(self, request, obj=None):
return False
def has_delete_permission(self, request, obj=None):
return False**