功能变化: 初始化系统菜单优化

pull/103/head
李强 2023-06-10 15:38:21 +08:00
parent 3d662e0f0e
commit f870442f6d
3 changed files with 654 additions and 650 deletions

File diff suppressed because it is too large Load Diff

View File

@ -160,7 +160,7 @@ class Dept(CoreModel):
class Menu(CoreModel):
parent = models.ForeignKey(
to="Menu",
on_delete=models.PROTECT,
on_delete=models.CASCADE,
verbose_name="上级菜单",
null=True,
blank=True,

View File

@ -6,7 +6,8 @@ from django.apps import apps
from rest_framework import request
from application import settings
from dvadmin.system.models import Users
from application.dispatch import is_tenants_mode
from dvadmin.system.models import Users, Menu
class CoreInitialize:
@ -30,11 +31,14 @@ class CoreInitialize:
def init_base(self, Serializer, unique_fields=None):
model = Serializer.Meta.model
if is_tenants_mode() and model._meta.model_name == 'menu':
# 超级租户模式下,取消初始化菜单
return
path_file = os.path.join(apps.get_app_config(self.app.split('.')[-1]).path, 'fixtures',
f'init_{Serializer.Meta.model._meta.model_name}.json')
if not os.path.isfile(path_file):
return
with open(path_file,encoding="utf-8") as f:
with open(path_file, encoding="utf-8") as f:
for data in json.load(f):
filter_data = {}
# 配置过滤条件,如果有唯一标识字段则使用唯一标识字段,否则使用全部字段