Uso this snippet para mostrar varios campos en mi administración como readonly, pero como se notó en los comentarios, no funciona en stackline/tabularinline. ¿Hay alguna otra forma de lograr esto? Tengo una lista de objetos adjuntados a un modelo y solo quiero mostrarlos en la vista de detalles del modelo sin la posibilidad de cambiar los valores.Campos de solo lectura en django admin/inline
10
A
Respuesta
17
Si está ejecutando Django 1.3 o posterior; hay un atributo llamado ModelAdmin.readonly_fields que puede usar.
InlineModelAdmin
hereda de ModelAdmin
, por lo que debería poder usarlo de su subclase en línea.
2
He encontrado el mismo problema hoy. Aquí está mi solución. Esto es ejemplo de campo de sólo lectura para el valor ForeignKey:
class MySelect(forms.Select):
def render(self, name, value, attrs=None, choices=()):
s = Site.objects.get(id=value)
return s.name
class UserProfileInlineForm(forms.ModelForm):
site = forms.ModelChoiceField(queryset=Site.objects.all(), widget=MySelect)
class UserProfileInline(admin.StackedInline):
model = UserProfile
form = UserProfileInlineForm
0
Como es el caso con jQuery, parece que se puede lograr esto mediante la modificación de una attr llamada "discapacidad" (funciona en mi Safari, OK nosotros' re ahora en 2013 :-)). Ejemplo a continuación:
def get_form(self, request, obj=None, **kwargs):
result = super(<your ModelAdmin class here>, self).get_form(request, obj=obj, **kwargs)
result.base_fields[<the select field you want to disable>].widget.attrs['disabled'] = 'disabled'
return result
Cuestiones relacionadas
- 1. Campos de solo lectura en django formset
- 2. administrador de Django: ¿cómo formatear campos de solo lectura?
- 3. Solo lectura para elementos existentes solo en Django admin inline
- 4. administrador de Django: ocultar los campos de solo lectura en los registros nuevos?
- 5. ¿Puede Json.NET poblar campos de solo lectura en una clase?
- 6. Inicializar campos de solo lectura privados después de la Deserialización
- 7. ¿Por qué el reafilamiento sugiere campos de solo lectura
- 8. Atributo WCF DataMember para campos de solo lectura?
- 9. Modelo completo como de solo lectura
- 10. ¿Hace un modelo de Django de solo lectura?
- 11. Campos sucios en django
- 12. Django startswith en los campos
- 13. Lista de cadenas de solo lectura
- 14. Hacer que todos los campos de formulario sean de solo lectura en MVC
- 15. Reordenando campos en Django modelo
- 16. campos dinámicos en Django administración
- 17. Ocultar campos en Django administrador
- 18. Solo lectura colección observable
- 19. Django - Buscar campos relacionados
- 20. ¿navegador independiente de solo lectura?
- 21. Abrir archivo de solo lectura
- 22. SQLite/PHP de solo lectura?
- 23. Creando un campo de solo lectura en Django Admin, basado en el valor de otro campo
- 24. Campos de marca de tiempo en django
- 25. ¿Cómo debo exponer los campos de solo lectura de las clases de Python?
- 26. ¿Funciona el uso de campos públicos de solo lectura para estructuras inmutables?
- 27. ¿Cómo puedo decirle a ReSharper que deje de crear campos de solo lectura?
- 28. Solo lectura de matriz bidimensional en C#
- 29. Ejecutando Solr en modo de solo lectura
- 30. propiedades de solo lectura en PHP?
gracias por su respuesta, por desgracia, es un sistema productivo donde no puedo utilizar un dev-versión. – schneck
FYI: esto parece estar en producción ahora (Django 1.3 tiene) –
Gracias por notarlo. He actualizado la respuesta en consecuencia. :) – drmegahertz