首页 > 其他 > 详细

django 多对多反序列添加

时间:2019-11-10 00:36:45      阅读:111      评论:0      收藏:0      [点我收藏+]

# 添加学生
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‘

有错误请指出




django 多对多反序列添加

原文:https://www.cnblogs.com/pp8080/p/11828629.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!