2017-02-08 47 views
4

我已經與這個命令打了幾個小時了。如何在Django中manage.py loaddata

如果我做

python manage.py dumpdata --natural-foreign --> data.json 

當我我loaddata得到錯誤

無法加載contenttypes.ContentType(PK = 19):重複鍵值 違反唯一約束 「django_content_type_app_label_76bd3d3b_uniq」詳細信息:密鑰(app_label, 模型)=(misuper,stockitem)已經存在。

然後,如果我做

python manage.py dumpdata --natural-foreign --exclude=contenttypes --> data.json 

,我收到了類似的錯誤,但有̣auth.Permission對象:

無法加載auth.Permission(PK = 55):重複鍵值違反 唯一約束「auth_permission_content_type_id_01ab375a_uniq」

如果我做

python manage.py dumpdata --natural-foreign --exclude=contenttypes --exclude=auth --> data.json 

當我我loaddata得到

用戶匹配查詢不存在

當然,我不包括身份驗證表。

所以... WTF我可以加載數據嗎?我所有的測試都依賴於此。

我相信文檔不夠。我卡在這裏,請幫忙。

+0

什麼是data.json文件中的內容? – Darshan

+0

@Darshan數據庫中的所有數據。它應該根據文檔工作:https://docs.djangoproject.com/en/1.10/ref/django-admin/#django-admin-loaddata – alejoss

+0

您是否在運行加載數據之前清除了數據庫? – Darshan

回答

9

試試這樣說:

python manage.py dumpdata --natural-foreign \ 
    --exclude auth.permission --exclude contenttypes \ 
    --indent 4 > data.json