首页 > 其他分享 >Serializers 序列化 新增一个字段(处理后赋值) 扔给前端 (实现表和表解偶)

Serializers 序列化 新增一个字段(处理后赋值) 扔给前端 (实现表和表解偶)

时间:2023-02-23 14:11:41浏览次数:28  
标签:Serializers name models list id 表解 序列化 email verbose

#模型层
class tbl_project_category(models.Model):
    depart_id = models.IntegerField(verbose_name='部门id', default=0)
    pro_name = models.CharField(max_length=50, verbose_name='项目名')
    create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
    update_time = models.DateTimeField(auto_now_add=True, verbose_name='更新时间')
    send_email = models.TextField(validators=[int_list_validator], default=[], verbose_name='关联用户ID')
    is_deleted = models.BooleanField(default=False)
    
#序列化
class SendEmailSerializers(serializers.ModelSerializer):

    class Meta:

        model = tbl_project_category
        fields = ('id', 'pro_name', 'send_email', 'list_email')  #list_email 是新增加的字段
        extra_kwargs = {
            'id': {
                'read_only': True,
            },
            'pro_name': {
                'read_only': True,
            },
        }

    # send_email = serializers.SerializerMethodField()
    list_email = serializers.SerializerMethodField()

    def get_list_email(self, obj):
        objs = eval(obj.send_email)
        email_name = tbl_user.objects.filter(id__in=objs).all()  #查询其他表操作后赋值
        res = []
        for item in email_name:
            res.append(item.email)
        return res

 

 

通过自定义校验也可以达到了类似的效果

https://www.cnblogs.com/kaibindirver/p/16770753.html

标签:Serializers,name,models,list,id,表解,序列化,email,verbose
From: https://www.cnblogs.com/kaibindirver/p/17147733.html

相关文章

  • 30-DRF框架-Serializer序列化器
    #作用:序列化器可以进行数据的校验,对数据对象进行转换#DjangoRESTframework中的序列化使用类来定义,须继承自rest_framework.serializers.Serializer#Serializer......
  • Java序列化
    什么是序列化序列化:将对象转化为可传输字节序列的过程为序列化反序列化:把字节序列还原为对象的过程称之为反序列化为什么要序列化序列化的最终目的是为了对象可以跨平......
  • 算法19:LeetCode_二叉树序列化与反序列化(层序)
    ​ 本题为链接为https://leetcode.cn/problems/serialize-and-deserialize-binary-tree想要搞懂本题,请先阅读我之前写的关于二叉树层序遍历文章算法8:LeetCode_二叉树的......
  • drf反序列化时出错
    -问题Postman传递json,drf反序列化时接受不到值,一直提示None-json数据点击查看代码{"number":"1","warehouse":"1","members":"1","handle......
  • Serializer 序列化 之 validate 校验
    当序列化的时候就会先走validate方法classJenkinsListSerializers(serializers.ModelSerializer):classMeta:model=tbl_jenkins_servefie......
  • Java序列化的几种方式
    1、原生序列化方式一、实现Serializable接口(隐式序列化)这是最简单的序列化方式,会自动序列化所有非staic和transient关键字修饰的成员变量。二、实现Externalizable接......
  • OneToMany字段序列化 failed to lazily initialize a collection of role
    hibernate项目中,如果要对onetomany的pojo对象中的字段序列化,则会抛failedtolazilyinitializeacollectionofrole错误。  解决方法1:目前我是用Jackson中的@JsonIgnor......
  • DRF_序列化and反序列化之高级
    1.source用法序列化器内的使用book_name=serializers.CharField(max_length=8,min_length=3,source='name')可以是字段,可以跨表,甚至可以是方法classB......
  • Drf_序列化and反序列化基础
    序列化类fromrest_frameworkimportserializersclassBookSerializer(serializers.Serializer):#要序列化的字段有很多字段类,字段类有很多字段属性......
  • 来讲讲怎样获取到url上所有参数并以对象形式保存,再讲讲JSON解析与序列化
    theme:juejinhighlight:gi前言​​大家好,我是梁木由,一个有想头的前端,最近呢也在为明年跳槽做复习准备。但我有个朋友呢,打算在年前跳槽,这不这几天正在疯狂面试中,前两天问......