fix(菜单): 修复新增菜单时排序错误的bug
This commit is contained in:
@@ -10,6 +10,7 @@ from rest_framework import serializers
|
|||||||
from rest_framework.decorators import action
|
from rest_framework.decorators import action
|
||||||
|
|
||||||
from dvadmin.system.models import Menu, RoleMenuPermission
|
from dvadmin.system.models import Menu, RoleMenuPermission
|
||||||
|
from dvadmin.system.views.menu_button import MenuButtonSerializer
|
||||||
from dvadmin.utils.json_response import SuccessResponse, ErrorResponse
|
from dvadmin.utils.json_response import SuccessResponse, ErrorResponse
|
||||||
from dvadmin.utils.serializers import CustomModelSerializer
|
from dvadmin.utils.serializers import CustomModelSerializer
|
||||||
from dvadmin.utils.viewset import CustomModelViewSet
|
from dvadmin.utils.viewset import CustomModelViewSet
|
||||||
@@ -23,7 +24,8 @@ class MenuSerializer(CustomModelSerializer):
|
|||||||
hasChild = serializers.SerializerMethodField()
|
hasChild = serializers.SerializerMethodField()
|
||||||
|
|
||||||
def get_menuPermission(self, instance):
|
def get_menuPermission(self, instance):
|
||||||
queryset = instance.menuPermission.order_by('-name').values_list('name', flat=True)
|
queryset = instance.menuPermission.order_by('-name').values('id', 'name', 'value')
|
||||||
|
# MenuButtonSerializer(instance.menuPermission.all(), many=True)
|
||||||
if queryset:
|
if queryset:
|
||||||
return queryset
|
return queryset
|
||||||
else:
|
else:
|
||||||
@@ -47,6 +49,11 @@ class MenuCreateSerializer(CustomModelSerializer):
|
|||||||
"""
|
"""
|
||||||
name = serializers.CharField(required=False)
|
name = serializers.CharField(required=False)
|
||||||
|
|
||||||
|
def create(self, validated_data):
|
||||||
|
last_sort = Menu.objects.filter(parent_id=validated_data.get('parent', None)).order_by('-sort').first().sort
|
||||||
|
validated_data['sort'] = last_sort + 1
|
||||||
|
return super().create(validated_data)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Menu
|
model = Menu
|
||||||
fields = "__all__"
|
fields = "__all__"
|
||||||
|
|||||||
Reference in New Issue
Block a user