feat: srule list 返回rule_display
This commit is contained in:
parent
22abc35d4b
commit
15de6e3a5e
|
@ -262,6 +262,7 @@ class RouteSerializer(CustomModelSerializer):
|
||||||
|
|
||||||
|
|
||||||
class SruleSerializer(CustomModelSerializer):
|
class SruleSerializer(CustomModelSerializer):
|
||||||
|
belong_dept_name = serializers.CharField(source='belong_dept.name', read_only=True)
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Srule
|
model = Srule
|
||||||
fields = '__all__'
|
fields = '__all__'
|
||||||
|
|
|
@ -233,5 +233,16 @@ class SruleViewSet(CustomModelViewSet):
|
||||||
serializer_class = SruleSerializer
|
serializer_class = SruleSerializer
|
||||||
select_related_fields = ['belong_dept']
|
select_related_fields = ['belong_dept']
|
||||||
filterset_fields = ['belong_dept']
|
filterset_fields = ['belong_dept']
|
||||||
search_fields = ['rule']
|
search_fields = ['belong_dept__name']
|
||||||
|
|
||||||
|
def add_info_for_list(self, data):
|
||||||
|
rule_list = [x['rule'] for x in data]
|
||||||
|
teamIds = []
|
||||||
|
for rule in rule_list:
|
||||||
|
teamIds.extend(rule)
|
||||||
|
teams = Team.objects.filter(id__in=teamIds).values_list('id', 'name')
|
||||||
|
teams_dict = dict(teams)
|
||||||
|
for item in data:
|
||||||
|
rule = item["rule"]
|
||||||
|
item["rule_display"] = "->".join([teams_dict.get(x, '未知') for x in rule])
|
||||||
|
return data
|
Loading…
Reference in New Issue