Files
DjangoVue3Admin/backend/app_menu/serializer.py
T
2025-03-16 14:25:27 +08:00

39 lines
1.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
Time: 2023/8/24 11:18
Author: 公众号【布鲁的Python之旅】,【github】https://github.com/taskPyroer, 【gitee】https://gitee.com/hu_yupeng123/projects
Version: V 0.1
File: serializer
Describe:
"""
from rest_framework import serializers
from app_menu.models import Menu
from utils.serializers import CustomModelSerializer
class MenuSerializer(CustomModelSerializer):
class Meta:
model = Menu
fields = "__all__"
read_only_fields = ["id"]
class MenuTreeSerializer(CustomModelSerializer):
"""
菜单表的树形序列化器
"""
children = serializers.SerializerMethodField(read_only=True)
def get_children(self, instance):
queryset = Menu.objects.filter(parent=instance.id).filter(status='0')
if queryset:
serializer = MenuTreeSerializer(queryset, many=True)
return serializer.data
else:
return None
class Meta:
model = Menu
fields = "__all__"
read_only_fields = ["id"]