Я хочу отображать мой виджет в поле в admin django, когда поле только для чтения.django admin Как отображать виджет на поле только для чтения
admin.py
class AudioTrackAdminInline(admin.StackedInline):
model = AudioTrack
form = AudioTrackForm
readonly_fields = ('file',)
forms.py
class AudioTrackForm(forms.ModelForm):
class Meta:
model = AudioTrack
widgets = { 'file': MediaFileInput, } # my widget
Если файл не только для чтения, отображается виджет OK. Но когда я включаю его как readonly, я вижу текстовую строку. (Django не должен использовать мою форму, если только только для чтения)
Как я могу использовать эту форму даже в поле readonly?
или
Как отобразить другой виджет, если я установить мое поле только для чтения?
Это следует использовать '' disabled' Field' атрибут, так как не все виджеты поддерживают (HTML) атрибут (например, с 'django.contrib.gis.forms. fields.PointField'), и он может быть изменен пользователем! Поэтому необходимо использовать 'form.base_fields [field_name] .disabled = True'. – blueyed