2017-03-27 56 views
1

我想在PostgresQL數據庫的新表中bulk_create大量記錄。Django在bulk_create中設置自動字段值

表格上的主鍵是一個名爲id的自動調整字段。

由於Django的1.10(我使用的)的,應在Postgres的工作:https://docs.djangoproject.com/en/1.10/ref/models/querysets/#bulk-create

然而,bulk_create與下面的錯誤而失敗。
django.db.utils.IntegrityError: null value in column "id" violates not-null constraint

這表明id字段沒有被自動賦值。

有誰知道如何解決這個問題?

+0

你能告訴我們你的模型和'bulk_create'調用,以防萬一嗎? –

+0

當然! 模型在這裏:https://github.com/uclapi/uclapi/compare/checkout-db#diff-c951c90934ea52618376c7d5e183c200R34 批量創建是在這裏:https://github.com/uclapi/uclapi/compare/checkout-db# diff -b2581b0a9c01e3f99aec2e29094adbe9R65 不管我們爲什麼要這樣做,缺少測試等等:P –

+0

我們一直在考慮的另一個選擇是使用uuids作爲主鍵,並將它們生成爲'bulk_create'的一部分 –

回答

0

所以這不是一個真正的答案,但它是我們什麼工作:

我們更換了明確id下拉列表AutoField和一個隱含的一個(即去掉就行了,讓Django的生成它本身)。

然後它的工作!

相關問題