次の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
これらの変数値を変更するにはどうすればよいですか?