任意のタイプの必須フィールドとオプションのImageFieldを持つモデルがあると想定します。Djangoの組み込みの管理インターフェースを使用してこのデータベーステーブルに行を挿入し、そのときに両方のフィールドに入力したとします。ここで、作成したばかりの行を編集するとします。ImageFieldは次のようになります。
現在:[url] | [チェックボックス]変更をクリア:[ファイルウィジェット]
非画像(PDFなど)をアップロードすると、「有効な画像をアップロードしてください。アップロードしたファイルは画像ではないか、破損した画像でした」と表示されます。「現在:[url]|[チェックボックス]クリア」の部分はもうありません。これはユーザーに誤解を与える可能性があります(元の画像がなくなったとユーザーに思わせる)。
もう1つの問題は、行を編集していて、必須フィールドを空白にして、画像を別のフィールドに置き換えたとします。もちろん、必須フィールドが入力されていないことについて不平を言うでしょう。ただし、ここでも、画像フィールドの「現在:[url]|[チェックボックス]クリア」の部分は表示されなくなります。繰り返しますが、これはユーザーを誤解させる可能性があります。
これはバグですか、それとも意図した動作ですか?いずれにせよ、どうすればこれを回避できますか?