我的模型付款包含字段:date_created,comment,description,amount。每笔付款均属于用户。
class Payment(models.Model):
author = models.ForeignKey('auth.User')
amount = models.FloatField(max_length=10)
description = models.CharField(max_length=128)
created_date = models.DateTimeField(
default=datetime.now())
comment = models.TextField(max_length=256)
def __str__(self):
return self.description
现在我需要为User实现不同的角色:常规(可以CRUD他的付款),经理(可以CRUD用户),管理员(可以CRUD一切)。因此,主要问题是如何在注册期间为用户实现此角色(进一步无法更改)。我还需要能够在注册期间通过api(django rest framework)设置此角色。
答案 0 :(得分:0)
最后决定使用Django内置权限
#e.g.
content_type = ContentType.objects.get_for_model(User)
permission = Permission.objects.get(codename='admin_can_manage_users')
user.user_permissions.add(permission)