def create_resource(self): """初始化资源数据""" for key, value in permissions.RES_PERM.items(): resource, _ = Resource.objects.update_or_create(code=key, defaults={ "name": value, "desc": value, }) self.create_permission(resource) print(output_formatter("资源数据初始化完成"))
def __new__(cls): """实现类创建时的方法校验 Returns: cls(object): 类 """ error_list = [] for choice in cls.action_choice: try: getattr(cls, choice) except AttributeError: error_list.append(choice) if len(error_list) > 0: error = output_formatter( f"Command action {error_list} undefined, please contact your administrator!", "red" ) raise AttributeError(error) return BaseCommand.__new__(cls)
def save(self): """保存当前项目中的migrations文件 Returns: result(bool): None """ app_migrations_dir = self.get_app_migrations_dir() for app, path in app_migrations_dir.items(): file_list = self.get_app_migrations_file(path) for file in file_list: with open(file, "r", encoding='UTF-8') as f: _, status = MigrationsHistory.objects.get_or_create( app_name=app, file_name=file.split(".")[0], defaults={"file_content": json.dumps(f.readlines())} ) if status: msg = f"app {app} 下的迁移文件 {file} 成功保存至数据库中!" else: msg = f"app {app} 下的迁移文件 {file} 已保存,本次对其操作将忽略!" print(output_formatter(msg))
def load(self): """从后端数据库加载当前项目的migrations文件 Returns: result(bool): None """ app_migrations_dir = self.get_app_migrations_dir() for app, path in app_migrations_dir.items(): # 创建migrations文件夹 if os.path.exists(path) is False: os.mkdir(path) # 创建migrations文件夹的包文件 f_init = open(os.path.join(path, "__init__.py"), "w", encoding='UTF-8') f_init.close() for migrations in MigrationsHistory.objects.filter(app_name=app): with open(os.path.join(path, f"{migrations.file_name}.py"), "w", encoding='UTF-8') as file: file.write('# coding:utf-8\n') # 防止乱码 for line in json.loads(migrations.file_content): file.write(line) print(output_formatter(f"app {app} 历史迁移文件加载完毕!"))
def create_builtin_user(): """初始化内置用户""" for username, data in BUILTIN_USER.items(): User.objects.get_or_create(username=username, defaults=data) print(output_formatter("内置用户初始化完成"))
def create_user_group(): """初始化用户组""" print(output_formatter("用户组数据初始化完成"))
def create_role(): """初始化角色""" print(output_formatter("角色数据初始化完成"))