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

    展示

  • 相关阅读:
    215. Kth Largest Element in an Array
    214. Shortest Palindrome
    213. House Robber II
    212. Word Search II
    210 Course ScheduleII
    209. Minimum Size Subarray Sum
    208. Implement Trie (Prefix Tree)
    207. Course Schedule
    206. Reverse Linked List
    sql 开发经验
  • 原文地址:https://www.cnblogs.com/xiaoxiamiaichiyu/p/14082218.html
Copyright © 2011-2022 走看看