阻止Django重新创建默认权限

问题描述:

有没有办法让我删除Django默认创建的所有权限并阻止它再次创建它们?阻止Django重新创建默认权限

目前,我有一个运行Permission.objects.all().delete(),我也开始加入default_permissions =()Meta类我所有的车型,和尚未迁移,一旦我运行迁移,权限消失了一秒钟,然后Django的重新创建它们(我知道这是一种真正的娱乐,因为每次运行迁移时每个权限的ID都会增加)。

那么,有没有办法可以完全禁用自动权限创建? 请注意,我是说禁用创建,而不是隐藏权限(我已经知道该怎么做)。

您是否研究过创建一个具有post_migrate信号的应用程序?

据我所知,当它调用post_migrate函数时,所有auth应用程序的权限创建代码都会发生。 见herehere

应该是default_permissions =()should prevent creating permissions为你指定在其元类,但是因为你不能这样做第三方或Django的安装应用程序的模型,你留下了这些情况你的数据库的权限,直到你的新清理post_migrate信号出现并清理它们。

希望可以帮到