次のget_readonly_fields方法を使用して、django の管理インターフェイスでオブジェクトを編集できないようにします。
def get_readonly_fields(self, request, obj=None):
if obj == None or request.user.is_superuser:
return self.readonly_fields
# marks all fields as readonly otherwise
fields = [f.name for f in self.model._meta.fields]
return fields
これは完全に機能しますが、saveとsave and continue editingがまだ表示されます。すべてのフィールドが読み取り専用であるため、何もしません。
したがって、私の質問:saveすべてのフィールドが読み取り専用かどうかに応じて、これらのボタンを非表示にする方法はありますか? どうすればこれを実装できますか?
EDIT1:
テンプレートをオーバーライドする方法は知っていますが、admin/submit_line.html代わりにやりたいことは、読み取り専用フィールドしかない場合はshow_save、show_save_as_newをに設定することです。Falseこれらの変数値を変更するにはどうすればよいですか?