• 序列化自定义字段


    表设计

    #审批流
    class ApproveConf(models.Model):
        # permission_classers=(IsAu)
        approve_type_chice= (
            ('1', "指定人员审批"),
            ('2', "角色组审批"),
        )
        flowconf=models.ForeignKey(FlowConf,on_delete=models.CASCADE)
        sequence = models.CharField(max_length=64,verbose_name='审批序号')
        approve= models.CharField('审批类型',choices=approve_type_chice, default='1',max_length=16)
        approve_id = models.CharField(max_length=32,verbose_name='审批人ID或者审批角色')
        # def __str__(self):
        #     return self.sequence
        class Meta:
            db_table='tb_approveactionconf

    序列化

    class ApproveConfSerializers((serializers.ModelSerializer)):
        flowconf=serializers.CharField(source='flowconf.name',read_only=True)
        #审批类型 自定义查找choices字段方法
        approve_name=serializers.SerializerMethodField(required=False)
        #审批人id或者审批角色id  
        approve_id_id=serializers.SerializerMethodField(required=False)
        class Meta:
            model=ApproveConf
            fields="__all__"
    
        def get_approve_name(self,row):
            approve_type_chice=dict(row.approve_type_chice)
            return approve_type_chice.get(row.approve)
    
        def get_approve_id_id(self,row):
            approve=row.approve       #审批类型
            approve_id=row.approve_id #审批人id或者审批角色id
            if approve=='1':
                "指定人审批"
                ss=User.objects.get(id=approve_id)
    
                return {
                    'ss':ss.username,
                    'approve':'指定人审批'
                }
            elif approve=='2':
                '角色组审批'
                ss=Role.objects.get(id=approve_id)
                return {
                    'ss':ss.zh_name,
                    'approve':'角色组审批'
                }

    展示

  • 相关阅读:
    2021.01.28 Rating赛
    2021.01.23 Rating赛补题报告
    Codeforces Round #104 (Div.2)补题报告
    Codeforces Beta Round #73(Div2)补题报告
    11.28天梯赛补题报告
    11月22日天梯训练补题报告
    11.14补题报告
    CCNA笔记
    Centos上安装mysql配置并授权远程连接部署项目
    web容器(03):Nginx配置负载均衡
  • 原文地址:https://www.cnblogs.com/xiaoxiamiaichiyu/p/14082218.html
Copyright © 2020-2023  润新知