Mimo że pole jest zaznaczone tak, jak 'editable=False'
w modelu, chciałbym, aby strona administratora je wyświetliła. Obecnie całkowicie ukrywa to pole. Jak to osiągnąć?
django
django-admin
GabiMe
źródło
źródło
fields
, ale kiedy dodałem go doreadonly_fields
niego, nie pojawił się, dopóki nie dodałem go do obu, a potem pojawił się w admin.Aktualizacja
To rozwiązanie jest przydatne, jeśli chcesz, aby pole było edytowalne w panelu Admin, ale nie można go było edytować w innych miejscach. Jeśli chcesz, aby pole nie było edytowalne przez cały czas, odpowiedź @Till Backhaus jest lepszą opcją.
Oryginalna odpowiedź
Jednym ze sposobów byłoby użycie niestandardowego
ModelForm
w panelu administracyjnym. Ten formularz może zastąpić wymagane pole, aby umożliwić jego edycję. W ten sposób zachowujeszeditable=False
wszędzie poza administratorem. Na przykład (testowane z Django 1.2.3)źródło
Twoje pola tylko do odczytu muszą również znajdować się w polach:
źródło