2012-07-22 20 views

Respuesta

17

Puede anular get_readonly_fields método del administrador:

class MyAdmin(admin.ModelAdmin): 

    def get_readonly_fields(self, request, obj=None): 
     if obj and obj.another_field == 'cant_change_amount': 
      return self.readonly_fields + ('amount',) 
     return self.readonly_fields 
+0

Se puede hacer esto mientras que maintaing el ordenamiento campo? –

0

Para rellenar un campo de otro, es necesario agregar un atributo prepopulated_fields a la clase correspondiente ModelAdmin. Por ejemplo:

class PostAdmin(admin.ModelAdmin): 
    prepopulated_fields = {"slug": ("title",)} 

La documentación pertinente se puede encontrar en here.

Sin embargo, en la versión de django que estoy usando en este momento (1.3), esto parece crear un error cuando también se usa readonly_fields.

0

declarar cualquier readonly_fields permanentemente en el cuerpo de la clase, ya que se tendrá acceso al atributo de clase readonly_fields de validación

Cuestiones relacionadas