django.contrib.auth中的哪个函数创建默认模型权限?

时间:2018-11-03 19:23:41

标签: python django django-authentication django-migrations

在django文档中说:

  

这些权限将在您运行manage.py migration时创建;在将django.contrib.auth添加到INSTALLED_APPS之后,第一次运行迁移时,将为所有先前安装的模型以及当时正在安装的所有新模型创建默认权限。之后,每次您运行manage.py migration(将创建权限的功能连接到post_migrate信号)时,它将为新模型创建默认权限。

它表示创建这些许可权的函数被赋予post_migration信号。我想知道这是哪个功能,因为我需要以编程方式在coode中设置默认权限。

1 个答案:

答案 0 :(得分:2)

here触发了迁移后信号

class AuthConfig(AppConfig):
     name = 'django.contrib.auth'
     verbose_name = _("Authentication and Authorization")

     def ready(self):
         post_migrate.connect(
             create_permissions,
            dispatch_uid="django.contrib.auth.management.create_permissions"
        )
    ...

然后从here

创建权限