@classmethod
def default_permission_name(cls, action):
    """
        Built the permission name for the default add/change/delete permissions.

        Note: Django will add "model name" to these permissions!
        e.g.:
            applabel.add_modelname
            applabel.change_modelname
            applabel.delete_modelname

        https://docs.djangoproject.com/en/1.8/ref/models/options/#default-permissions
        """
    assert action in cls._meta.default_permissions, f"'{action}' not in Meta.default_permissions !"
    permission = f'{cls._meta.app_label}.{action}_{cls._meta.model_name}'
    return permission
