django 多对多反序列添加

巧了我就是萌 提交于 2019-12-04 02:34:11
# 添加学生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'有错误请指出

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!