perf: 优化 Login Asset ACL Serializer reviewers 字段

This commit is contained in:
Bai 2022-11-30 23:05:20 +08:00
parent 3b1c8a2327
commit a430b0f1a9

View File

@ -1,9 +1,11 @@
from rest_framework import serializers from rest_framework import serializers
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from common.drf.fields import LabeledChoiceField
from common.drf.fields import ObjectRelatedField
from orgs.mixins.serializers import BulkOrgResourceModelSerializer from orgs.mixins.serializers import BulkOrgResourceModelSerializer
from orgs.models import Organization from orgs.models import Organization
from common.drf.fields import LabeledChoiceField from users.models import User
from acls import models from acls import models
@ -59,6 +61,9 @@ class LoginAssetACLSerializer(BulkOrgResourceModelSerializer):
users = LoginAssetACLUsersSerializer() users = LoginAssetACLUsersSerializer()
assets = LoginAssetACLAssestsSerializer() assets = LoginAssetACLAssestsSerializer()
accounts = LoginAssetACLAccountsSerializer() accounts = LoginAssetACLAccountsSerializer()
reviewers = ObjectRelatedField(
queryset=User.objects, many=True, required=False, label=_('Reviewers')
)
reviewers_amount = serializers.IntegerField(read_only=True, source="reviewers.count") reviewers_amount = serializers.IntegerField(read_only=True, source="reviewers.count")
action = LabeledChoiceField( action = LabeledChoiceField(
choices=models.LoginAssetACL.ActionChoices.choices, label=_("Action") choices=models.LoginAssetACL.ActionChoices.choices, label=_("Action")