From 5143afdd85bd330b6e93b228687b412784b79a0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BC=BA?= <1206709430@qq.com> Date: Wed, 27 Dec 2023 21:26:21 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=97=E6=9D=83=E9=99=90=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/dvadmin/system/fixtures/initSerializer.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/backend/dvadmin/system/fixtures/initSerializer.py b/backend/dvadmin/system/fixtures/initSerializer.py index 0b139c1..a264ed7 100644 --- a/backend/dvadmin/system/fixtures/initSerializer.py +++ b/backend/dvadmin/system/fixtures/initSerializer.py @@ -5,6 +5,7 @@ from rest_framework import serializers os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'application.settings') import django + django.setup() from dvadmin.system.models import ( Role, Dept, Users, Menu, MenuButton, @@ -60,9 +61,10 @@ class MenuFieldInitSerializer(CustomModelSerializer): class Meta: model = MenuField - fields = ['id', 'menu','field_name','title','model'] + fields = ['id', 'menu', 'field_name', 'title', 'model'] read_only_fields = ["id"] + class MenuInitSerializer(CustomModelSerializer): """ 递归深度获取数信息(用于生成初始化json文件) @@ -71,6 +73,7 @@ class MenuInitSerializer(CustomModelSerializer): children = serializers.SerializerMethodField() menu_button = serializers.SerializerMethodField() menu_field = serializers.SerializerMethodField() + def get_children(self, obj: Menu): data = [] instance = Menu.objects.filter(parent_id=obj.id) @@ -90,7 +93,7 @@ class MenuInitSerializer(CustomModelSerializer): data = [] instance = obj.menufield_set.order_by('field_name') if instance: - data = list(instance.values('field_name', 'title','model')) + data = list(instance.values('field_name', 'title', 'model')) return data def save(self, **kwargs): @@ -131,8 +134,9 @@ class MenuInitSerializer(CustomModelSerializer): for field_data in menu_field: field_data['menu'] = instance.id filter_data = { - 'menu':field_data['menu'], - 'field_name':field_data['field_name'] + 'menu': field_data['menu'], + 'field_name': field_data['field_name'], + 'model': field_data['model'] } instance_obj = MenuField.objects.filter(**filter_data).first() serializer = MenuFieldInitSerializer(instance_obj, data=field_data, request=self.request) @@ -143,7 +147,7 @@ class MenuInitSerializer(CustomModelSerializer): class Meta: model = Menu fields = ['name', 'icon', 'sort', 'is_link', 'is_catalog', 'web_path', 'component', 'component_name', 'status', - 'cache', 'visible', 'parent', 'children', 'menu_button','menu_field', 'creator', 'dept_belong_id'] + 'cache', 'visible', 'parent', 'children', 'menu_button', 'menu_field', 'creator', 'dept_belong_id'] extra_kwargs = { 'creator': {'write_only': True}, 'dept_belong_id': {'write_only': True}