更新:添加了一个BOUNTY。请提供一个示例,我将接受最好的答案
更新2:现在包含明确示例
Carrying on from the same project, where I asked about bulk_create in a separate thread. 我想知道是否有一种基本上“bulk_save”的方法 - 如果不存在则插入或只是更新它是否已经存在。
例如:
class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
height = models.DecimalField(blank=True, null=True)
weight = models.DecimalField(blank=True, null=True)
我有一个字典列表,其中包含这些字段的键值对。我想按名称过滤,然后更新身高和/或体重,因为这些我的球员仍在成长和调节。如果“bulk_save”没有简单的方法,批量更新也会有所帮助。
Reference: June 8, 2012 - "get_or_create()" patch at django project
答案 0 :(得分:3)
我刚刚对下面列出的update_many函数做了一个变化,我似乎已经极大地提高了速度。
http://people.iola.dk/olau/python/bulkops.py
更新 - 显然DSE2也是一种选择。
https://bitbucket.org/weholt/dse2
明天会更新速度测试。