フィールドが読み取り専用のときに、django admin のフィールドにウィジェットを表示したいと考えています。
admin.py
class AudioTrackAdminInline(admin.StackedInline):
model = AudioTrack
form = AudioTrackForm
readonly_fields = ('file',)
フォーム.py
class AudioTrackForm(forms.ModelForm):
class Meta:
model = AudioTrack
widgets = { 'file': MediaFileInput, } # my widget
ファイルが読み取り専用でない場合、widget OK と表示されます。しかし、読み取り専用として含めると、テキスト行が表示されます。(読み取り専用の場合、Django は私のフォームを使用しません)
読み取り専用フィールドでもフォームを使用するにはどうすればよいですか?
また
フィールドを読み取り専用に設定した場合に別のウィジェットを表示するにはどうすればよいですか?