如何自动设置组权限?



在创建Django模型时,Django会自动为CRUD操作创建权限。如果之前已经创建了用户组,那么问题来了:如何自动为组添加必要的权限?

目前,我创建了数据迁移,并在其中"手动"添加了组所需的权限。也许有一种方法可以在不迁移数据的情况下做到这一点?

您可以为此目的创建一个Signal,其中可以为组分配权限。

@receiver(models.signals.post_save, sender=User)
def assign_permission_signal_handler(sender, instance, created, **kwargs):
if created:
group = Group.objects.get(name='Group name')
instance.groups.add(group)
group.permissions.set('permission')
instance.save()

相关内容

最新更新