Django ManyToManyField 一次性清空多个和添加多个关系及一些其它操作

 一、批量清空想要清掉的manytomany中对应的关系

def xxxxxx(req):
    role_id=json.laods(req.POST.get('role_id')) #得到的是manytomany对应的id数组[1,2]
    users=xxxx.objects.filter(id__lt=3)
    for us in users:
       us.user_role.remove(*role_id) #在前面加个* 可以清掉字段中对应[1,2]的关系
    userser=ZJUser.objects.filter(id__in=userids)
    for ser in userser:
       ser.user_role.add(*role_id) #同理这里也可以添加
    return JsonResponse({'ret':0,'msg':'success'})


二、manytomany的其它操作

     obj.many.set(*[1,2]) #批量更新

     obj.many.clear()  #清空所有关系

     obj.many.all()  #获取所有对应关系

     obj.many.all().values('id','name') #获取关系中某些字段 要想直接通过JsonResponse输出 需要用list()进行转一下

     

  

猜你喜欢

转载自blog.csdn.net/QQ1752506968/article/details/91992932