access 返回修改
This commit is contained in:
parent
2c0a330c3b
commit
3b5c95ac5d
|
@ -1,4 +1,7 @@
|
|||
from rest_framework import serializers
|
||||
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.system.serializers import PostSimpleSerializer
|
||||
|
||||
|
@ -25,13 +28,22 @@ class AreaCreateUpdateSerializer(CustomModelSerializer):
|
|||
class AccessCreateSerializer(CustomModelSerializer):
|
||||
class Meta:
|
||||
model = Access
|
||||
fields = ['type', 'area', 'post']
|
||||
fields = ['type', 'area', 'obj_cate', 'obj']
|
||||
|
||||
|
||||
class AccessSerializer(CustomModelSerializer):
|
||||
area_ = AreaSimpleSerializer(source='area', read_only=True)
|
||||
post_ = PostSimpleSerializer(source='post', read_only=True)
|
||||
obj_ = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = Access
|
||||
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}
|
||||
|
|
Loading…
Reference in New Issue