fix: 修复创建授权时actions为空保存时报错的问题

This commit is contained in:
Jiangjie.Bai
2022-03-11 19:28:00 +08:00
committed by 老广
parent fef3211252
commit a2d1eca543
2 changed files with 8 additions and 1 deletions

View File

@@ -1,6 +1,7 @@
from rest_framework import serializers
from perms.models import Action
from orgs.mixins.serializers import BulkOrgResourceModelSerializer
from rest_framework.fields import empty
__all__ = ['ActionsDisplayField', 'ActionsField', 'BasePermissionSerializer']
@@ -10,6 +11,12 @@ class ActionsField(serializers.MultipleChoiceField):
kwargs['choices'] = Action.CHOICES
super().__init__(*args, **kwargs)
def run_validation(self, data=empty):
data = super(ActionsField, self).run_validation()
if isinstance(data, list):
data = Action.choices_to_value(value=data)
return data
def to_representation(self, value):
return Action.value_to_choices(value)