zoukankan      html  css  js  c++  java
  • 序列化自定义字段

    表设计

    #审批流
    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':'角色组审批'
                }

    展示

  • 相关阅读:
    307.区域与检索--数组可修改
    202.快乐数
    263.丑数
    205.同构字符串
    204.计数质数
    40.组合总和Ⅱ
    811.子域名访问计数
    39.组合总和
    udp与tcp
    SQL复习
  • 原文地址:https://www.cnblogs.com/xiaoxiamiaichiyu/p/14082218.html
Copyright © 2011-2022 走看看