Même si un champ est marqué comme 'editable=False'
dans le modèle, j'aimerais que la page d'administration l'affiche. Actuellement, il cache complètement le champ. Comment y parvenir?
django
django-admin
GabiMe
la source
la source
fields
, mais lorsque je l'ai ajouté, ilreadonly_fields
ne s'est pas affiché jusqu'à ce que je l'ai ajouté aux deux, puis il est apparu dans l'administrateur.Mettre à jour
Cette solution est utile si vous souhaitez que le champ reste modifiable dans Admin mais non modifiable partout ailleurs. Si vous souhaitez que le champ ne soit pas modifiable tout au long, la réponse de @Till Backhaus est la meilleure option.
Réponse originale
Une façon de le faire serait d'utiliser une personnalisation
ModelForm
dans l'administrateur. Ce formulaire peut remplacer le champ obligatoire pour le rendre modifiable. Ainsi, vous conservezeditable=False
partout ailleurs sauf Admin. Par exemple (testé avec Django 1.2.3)la source
Vos champs en lecture seule doivent également figurer dans des champs:
la source