2016-07-12 12 views
0

私のスタッフモデルで表示権限を作成しようとしています。ただし、デフォルト許可テーブルには存在しません。 「追加」、「変更」、「削除」などの既定のアクセス許可は、テーブルにはまだ存在します。もう一度移行する必要がありますか?誰も私にヒントを与えることができますか?権限テーブルにカスタム権限を表示できません

class Staff(AbstractBaseUser): 

    yes_or_no = ((True, 'Yes'),(False, 'No')) 
    male_or_female = ((True,'Male'),(False,'Female')) 

    name = models.CharField(max_length=100,blank = False, null = False) 
    email = models.EmailField(max_length=100,blank = False, null = False) 
    gender = models.BooleanField(default = True, choices = male_or_female) 
    birthday = models.DateField(default =None,blank = False, null = False) 
    created = models.DateTimeField(default=datetime.now, blank=True) 
    is_staff = models.BooleanField(default=False,choices = yes_or_no) 
    store_id = models.ForeignKey(Store,default=1) 
    REQUIRED_FIELDS = ['email'] 

    permissions = (
      ("view_Staff", "Can see available Staff")) 

    perm_list = set() 
    def get_user_type(self): 
    return "Staff" 

    def has_perm(self, perm, obj=None): 
    if perm in self.get_all_permissions(): 
     return True 
    return False 

    def get_all_permissions(self, obj=None): 
     return self.perm_list 

    def asgin_perm(self,perm,object=None): 
    self.perm_list.add(perm) 

    def __str__(self): 
    return self.name 
+0

はい - あなたがモデルに権限を追加した後に移行する必要があります。 – solarissmoke

+0

私はすでに試してみましたが、うまくいきません。すべての移行ファイルとデータベースを削除してからもう一度やり直す必要がありますか? – pipi

+0

移行出力とは何か、エラーを表示していますか? – PetarP

答えて

0

は、あなたがこのようなメタクラスでカスタムのアクセス許可を設定する必要があります...

class Meta: 
    permissions = (
     ("view_staff", "Can see available staff"), 
    ) 
関連する問題