我正在使用bulk_create插入一千个用户:
<script>
function randomString() {
var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
var string_length = 8;
var randomstring = '';
for (var i=0; i<string_length; i++) {
var rnum = Math.floor(Math.random() * chars.length);
randomstring += chars.substring(rnum,rnum+1);
}
document.randform.randomfield.value = randomstring;
}
</script>
和bulk_update更新许多记录:
new_users_bulk_list.append(User(user_id=user_id, date_of_birth=dob))
if len(new_users_bulk_list) >= settings.BULK_LIMIT:
try:
User.objects.bulk_create(new_users_bulk_list)
new_users_bulk_list[:] = []
except Exception as e:
print("Error: Creating users " + str(e))
如果bulk_create或bulk_update在创建/更新记录时失败,我该如何识别这些失败的记录?有没有办法捕获特定的失败记录?
谢谢,
答案 0 :(得分:1)
我认为不可能这样做。 This回答可能会给你一些见解。
我可能建议采用一种远非完美的解决方法:手动将new_users_bulk_list
拆分成一些大小的批次。这至少可以让你对正在发生的事情和失败的事情有一定程度的控制。