tangyi606 2020-12-07 11:40 采纳率: 60%
浏览 250

关于django的.objects.bulk_create异常的问题。

新人求教。

需要往数据库插入一个list的模型对象。用循环的方式save没有问题。

看了下,如果数据多这样效率低。网上推荐用“模型.objects.bulk_create”这样的办法,改完以后异常。

debug了完全没头绪,可能是自己的认知还比较浅,望指导,感谢!

异常:

TypeError: Field 'stuid' expected a number but got <django.db.models.query_utils.DeferredAttribute object at 0x0000020D95079EB8>.

我的模型片段(数据库设置的是integer):

class Students(models.Model):
    stuid = models.AutoField(primary_key=True, blank=True)
    phone = models.CharField(blank=True, null=True, max_length=20)
    stuname = models.CharField(blank=True, null=True, max_length=20)
……

我的业务代码:

            sheet=BookObject.sheets()[0]#读取一个excel
            stulist=[]
            for i in range (1,sheet.nrows):
                # print(sheet.row(i))
                # 构造数据库对象
                stu= Students(
                    # stuid=, #数据库设置的自动增长,所以这里不给值
                    orgname=sheet.cell_value(i, 1),
                    stuname=sheet.cell_value(i, 2),
                    gender=sheet.cell_value(i, 3),
                    idnum=sheet.cell_value(i, 4),
                    phone=sheet.cell_value(i, 5),
                    ……

                )
                # stu.save() #用save正常可以插入数据库
                stulist.append(Students)


            Students.objects.bulk_create(stulist)#这里异常报错!!!
  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-09 19:36
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 c#转安卓 java html
  • ¥15 os.listdir文件路径找不到
  • ¥15 使用gojs3.0,如何在nodeDataArray设置好text的位置,再go.TextBlock alignment中进行相应的改变
  • ¥15 psfusion图像融合指标很低
  • ¥15 银河麒麟linux系统如何修改/etc/hosts权限为777
  • ¥50 医院HIS系统代码、逻辑学习
  • ¥30 docker离线安装mysql报错,如何解决?
  • ¥15 构建工单的总账影响在哪里查询或修改
  • ¥15 三个简单项目写完之后有重赏之后联系我
  • ¥15 python报内存不能read错误