0

ドキュメントによると、クラスは次のように説明されているメタ オプションのアクセス許可を持つことができます。

Options.permissions

このオブジェクトを作成するときにアクセス許可テーブルに入力する追加のアクセス許可。管理者が設定されたオブジェクトごとに、追加、削除、および変更の権限が自動的に作成されます。この例では、can_deliver_pizzas という追加のアクセス許可を指定しています。

permissions = (("can_deliver_pizzas", "Can deliver pizzas"),)

これは、(permission_code, human_directional_permission_name) の形式の 2 タプルのリストまたはタプルです。

次の方法で、実行時にパーミッションを定義することは可能でしょうか?

permissions = (("can_access_%s" % self.pk, /
                "Has access to object %s of type %s" % (self.pk,self.__name__)),)

?

4

2 に答える 2

0

いいえ、これはいくつかの理由で機能しません。まず、Felix が指摘するようにself、その時点ではアクセスできません。次に、引用したドキュメントに記載されているように、これは権限テーブルに入力する項目のリストです。つまり、これらはによって作成される実際のデータベース行manage.py syncdbです。

于 2010-03-13T10:23:44.673 に答える
0

クラスのコンテキストでは、にMetaアクセスできないと思いますself
管理アプリケーションの解決策を探している場合は、行レベルのアクセス許可に関するこの記事をお読みください。

次のようにも述べています。

一般向け (つまり、管理者以外) のビューの場合は、もちろん、アプリケーションに必要なパーミッション チェック ロジックを自由に実装できます。

于 2010-03-13T07:58:27.520 に答える