feat: srule list 返回rule_display

This commit is contained in:
caoqianming 2024-12-05 18:13:11 +08:00
parent 22abc35d4b
commit 15de6e3a5e
2 changed files with 14 additions and 2 deletions

View File

@ -262,6 +262,7 @@ class RouteSerializer(CustomModelSerializer):
class SruleSerializer(CustomModelSerializer):
belong_dept_name = serializers.CharField(source='belong_dept.name', read_only=True)
class Meta:
model = Srule
fields = '__all__'

View File

@ -233,5 +233,16 @@ class SruleViewSet(CustomModelViewSet):
serializer_class = SruleSerializer
select_related_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