zoukankan      html  css  js  c++  java
  • django 多对多反序列添加


    # 添加学生
    class Addstu1(APIView):
    def post(self,request):
    data = request.data
    data['img'] = '123456' # img直接写成了死的数据
    print(data)
    ss=Stuerializers1(data=data)
    if ss.is_valid():
    ss.save()
    return Response({'code':200,'message':'添加成功'})
    return Response({'code':10020,'message':'添加失败'})


    最重要的序列化部分

    # 多对多添加学生
    class Stuerializers1(serializers.Serializer):
    name = serializers.CharField(max_length=32)
    img = serializers.CharField(max_length=255)
    cid = serializers.ListField() # ListField 可以添加多个
    def create(self,data):
    cid = data.pop('cid') #cid并不是我stu里的字段 所以弹出cid
            ss = Stu.objects.create(**data)  #添加stu表
    ss.duo.set(cid) #添加stu 外键 dou
    return ss

    模型
    # 课程
    class Kc(Base,models.Model):
    name = models.CharField(max_length=32)
    price = models.DecimalField(max_digits=9,decimal_places=2)
    # sss_set =

    class Meta:
    db_table='kc'

    # 学生表
    class Stu(Base,models.Model):
    name = models.CharField(max_length=32)
    img = models.CharField(max_length=255)
    #related_name='sss' 起个别名 当反向添加的时候他就相当于课程表里的外键了 sss_set
    #可以直接代替 stu表里的dou
    duo = models.ManyToManyField(to='Kc',related_name='sss')#
    class Meta:
    db_table='stu'

    有错误请指出




  • 相关阅读:
    【Luogu】P1419寻找段落(单调队列)
    【Luogu】P1411树(树形高精DP)
    【Luogu】P2886牛继电器(矩阵加速floyd)
    【Luogu】P2657windy数(数位DP)
    【Luogu】P3521ROT-Tree Rotations(线段树合并)
    24-Perl 数据库连接
    23-Perl 面向对象
    22-Perl Socket 编程
    21-Perl 发送邮件
    20-Perl 正则表达式
  • 原文地址:https://www.cnblogs.com/pp8080/p/11828629.html
Copyright © 2011-2022 走看看