fix(菜单): 修复新增菜单时排序错误的bug
This commit is contained in:
@@ -10,6 +10,7 @@ from rest_framework import serializers
|
||||
from rest_framework.decorators import action
|
||||
|
||||
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.serializers import CustomModelSerializer
|
||||
from dvadmin.utils.viewset import CustomModelViewSet
|
||||
@@ -23,7 +24,8 @@ class MenuSerializer(CustomModelSerializer):
|
||||
hasChild = serializers.SerializerMethodField()
|
||||
|
||||
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:
|
||||
return queryset
|
||||
else:
|
||||
@@ -47,6 +49,11 @@ class MenuCreateSerializer(CustomModelSerializer):
|
||||
"""
|
||||
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:
|
||||
model = Menu
|
||||
fields = "__all__"
|
||||
|
||||
Reference in New Issue
Block a user