2012-04-25 6 views
0

以下のアクセス権を含むMetaクラスを追加しましたが、単にMetaクラスに入れるか、何かを指定するか、特定の方法で割り当てます。ここに私のコードです:DjangoのDjangoユーザーのインスタンスではないオブジェクトへのアクセス許可を追加する

class Contractor(models.Model): 
    contractor_verified = models.BooleanField(default=False)  
    Employer = models.OneToOneField(Employer) 
    job_title = models.CharField(max_length=50) 
    name = models.CharField(max_length=250) 

    class Meta: 
     permissions = (
     ("permission", "perm"), 
     ("bid", "bid"), 
     ("send_request_to_verifier", "send_request_to_verifier"), 
     ("gain_points", "gain_points"), 
     ("loose_points", "loose_points"), 
     ) 

と私は申し訳ありませんが明確でない場合は。 Djangoユーザのインス​​タンスではないオブジェクトにカスタム権限を追加する方法についてのヘルプが必要です

+0

正しく実行しています。オブジェクトへのアクセス権を追加して、djangoユーザのオブジェクトへのアクセスを許可または禁止します。ユーザーシステムをまったく使用しないと言っていますか? –

+0

はい、請負業者がDjangoユーザーのインスタンスではないモデルなので、cont = Contractor.objects.get(id = 1)を使用しようとすると、 cont.user_permissions.add( 'appname.permission')私はエラーがofcoarseのためにこのメソッドはBjultのユーザーであるので、私が知りたいのは、モデルのためだけにdjangoのユーザーメソッドを組み込むことなくパーミッションを追加する方法です –

答えて

0

django権限システムは、ユーザおよびグループモデルの権限をサポートするためにのみ用意されています。オブジェクト権限に関するDjangoのドキュメントから:コアでのそれのための実装が存在しないにもかかわらずhttps://docs.djangoproject.com/en/1.3/topics/auth/#handling-object-permissions

Djangoの許可フレームワークは、オブジェクト権限、 のための基盤を持っています。つまり、 オブジェクトのアクセス権をチェックすると、実行されたチェックによっては、常にFalseまたは空の リストが返されます。

あなたは一般的なオブジェクトレベルの権限を探している場合は、利用可能なパッケージのスルーがここにあります:http://pypi.python.org/pypi?%3Aaction=search&term=django+permissions&submit=search

これらのいくつかは、単にモデルレベルの権限を実装し、いくつかは、インスタンスごとにアクセス権を定義してみましょう。

関連する問題