Django バージョン 1.3 + python2.7
最近はパーミッションを扱っていますが、非常に便利だと思います。もっと詳しく知りたいので、2つの質問があります:-
1)グループ内のユーザーに対して、可能な限り最善の方法で、django admin( inlines などを含む)のモデルに読み取り専用モードを実装するにはどうすればよいですか? それで、「読み取り専用ユーザー」という名前のグループがあり、そのモデルを追加および変更する権限を与えたとしましょう。これらのユーザーがログインすると、すべてのフィールドが読み取り専用モードで表示されます。
2) 質問 1 からさらに一歩。読み取り専用モードにした後、上記のユーザーに、3 つのフィールドを除くすべてのフィールドが読み取り専用で表示されるようにします。したがって、50 個のフィールドが読み取り専用であるとしましょう。45 個の読み取り専用フィールドを表示したいのですが、変更してデータを POST できるフィールドは 5 個です。
私がしたこと :-
def get_readonly_fields(self, request, obj=None):
readonly_fields = super(SupplierAdmin, self).get_readonly_fields(request, obj)
if request.user.groups.values('name')[0].get('name') == "Read Only Mode":
readonly_fields = ('','',.......)