繁体   English   中英

如何将dict值分配给user_id以创建对象

[英]How to assign dict values to user_id for creating objects

def insertCompany_type(request):
          if request.method == 'POST':
             try:
                data = json.loads(request.body)
                c_type = data["subject"]
                user = get_user_id(request)
                print user
                c_ty=Company_Type(user_id=user,type=c_type)
                c_ty.save(force_insert=True)
             except:
                     print 'nope'
          return JsonResponse({'status': 'success'})

print user

显示[{'user_id':1L}]

..我怎样才能分配1至user_idCompany_Type(user_id=user,type=c_type)用于创建对象

当您真正成为一个用户时(这不会发生您的代码片段),您可以传递一个构造函数参数设置user_id。 例如

myUser = User(name="shalin", user_id=1)
myUser.save()

此外,您只需执行以下操作即可从请求中获取用户对象:

user = request.user

这比我想的要容易一些。

如果user是长度为1的列表,其中包含字典,则可以按以下方式提取字典的值:

value = user[0]['user_id']

您可以将代码修改为:

      if request.method == 'POST':
         try:
            data = json.loads(request.body)
            c_type = data["subject"]
            user = get_user_id(request)
            id = user[0]['user_id']
            c_ty=Company_Type(user_id=id,type=c_type)
            c_ty.save(force_insert=True)
         except:
                 print 'nope'
      return JsonResponse({'status': 'success'})

另外,如果您需要确保id为整数,则将其强制转换为正确的数据类型,如int(id)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM