我有一个名为 ExpertUser 的用户,他只能修改Django Admin中用户的被叫模型(money)的属性。
我尝试使用 Meta 在模型中添加权限,但在使用该权限输入时,我无法修改任何内容,因为我无权访问任何用户。< / p>
我的模特是这样的:
class Client(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
money = models.FloatField(default=1000)
def __str__(self):
return self.user.username
class Meta:
permissions = (("can_view_money", "Can view money"),)
答案 0 :(得分:2)
看看Django Guardian。这为在各个级别分配权限提供了更大的灵活性。 Django只允许您在对象级别设置权限,因此在您的情况下,您只能设置创建/编辑/删除客户端对象的权限。
http://django-guardian.readthedocs.io/en/v1.4.8/index.html
如果这还不够,还有一些具有所需功能的其他软件包: