access 返回修改

This commit is contained in:
曹前明 2022-06-25 16:46:54 +08:00
parent 2c0a330c3b
commit 3b5c95ac5d
1 changed files with 15 additions and 3 deletions

View File

@ -1,4 +1,7 @@
from rest_framework import serializers
from apps.am.models import Access, Area from apps.am.models import Access, Area
from apps.hrm.models import Employee
from apps.system.models import Post
from apps.utils.serializers import CustomModelSerializer from apps.utils.serializers import CustomModelSerializer
from apps.system.serializers import PostSimpleSerializer from apps.system.serializers import PostSimpleSerializer
@ -25,13 +28,22 @@ class AreaCreateUpdateSerializer(CustomModelSerializer):
class AccessCreateSerializer(CustomModelSerializer): class AccessCreateSerializer(CustomModelSerializer):
class Meta: class Meta:
model = Access model = Access
fields = ['type', 'area', 'post'] fields = ['type', 'area', 'obj_cate', 'obj']
class AccessSerializer(CustomModelSerializer): class AccessSerializer(CustomModelSerializer):
area_ = AreaSimpleSerializer(source='area', read_only=True) obj_ = serializers.SerializerMethodField()
post_ = PostSimpleSerializer(source='post', read_only=True)
class Meta: class Meta:
model = Access model = Access
fields = '__all__' fields = '__all__'
def get_obj_(self, obj):
if obj.obj_cate == 'employee':
ep = Employee.objects.filter(id=obj.obj).first()
if ep:
return {'id': ep.id, 'name': ep.name}
elif obj.obj_cate == 'post':
pt = Post.objects.filter(id=obj.obj).first()
if pt:
return {'id': pt.id, 'name': pt.name}