2017-04-18 125 views
0

我想bulk_createPerson对象列表的原始分析的API数据的一些列表。 数据包含:Django bulk_create,而填充ImageField

  • 编号
  • 评论
  • 图片

    person = raw_api_data[0] 
        obj = Person(
         id=person['id'], 
         comment=person['comment'], 
        ) 
    
        if person['image'] is not None: 
         obj.image.save(
          '.jpg', 
          ContentFile(person['image'].decode('base-64')), 
          save=False, 
         ) 
    new_persons.append(obj) 
    
    Person.objects.bulk_create(new_persons) 
    

我希望能够避免的情况下,bulk_create失败文件系统上创建本地图像文件。 (例如IntegrityError

有没有什么办法避免在创建过程本身之前创建文件本身,同时还能够批量创建所有具有其图像的对象?

除了在将对象本身附加到批量列表之前创建内容文件之外,我没有发现任何其他想法。

回答

0

要回答你的问题,没有。如果您希望您关注的是大量的批量列表,请尝试使用批量插入的概念,并在每500个项目左右进行批量插入。但是,在进行批量创建时,您将一直需要更新列表。