簡體   English   中英

Django 1.9 加載數據錯誤

[英]Django 1.9 loaddata errors

ubuntu 15.10 venv python 3.4/django 1.9

命令:

python manage.py loaddata flight_data.json(yaml)

錯誤:

json: django.core.serializers.base.DeserializationError: 安裝夾具時出現問題 '/home/nerdbox2/django_/logbook/flights/fixtures/flight_data.json': 'model'

yaml:django.core.serializers.base.DeserializationError:安裝夾具“/home/nerdbox2/django_/logbook/flights/fixtures/flight_data.yaml”時出現問題:“模型”

在嘗試了幾個 csv->model 包並且沒有運氣之后,我決定根據 Django Docs 使用 csv-json 和 csv-yaml 的在線轉換器,但仍然沒有運氣。 我有 ~2100 條記錄來填充數據庫。

是的,我是個菜鳥,但在過去的 3 天里我真的把它打敗了!

任何幫助將不勝感激!

下面評論中的模型、json 和 yaml

有時,應用程序中的某些模型可能會導致序列化失敗。一旦您運行 dumpdata 命令,Django 會將此類模型指示為警告。 確保使用以下命令排除此類模型(或在某些情況下排除整個應用程序):

./manage.py dumpdata --exclude auth.permission > db.json

在這里,我們認為 auth.permission 是您需要刪除的表。

如果您使用數據庫轉儲來加載新數據庫(在另一個 django 項目中),它可能會導致 IntegrityError(如果您在同一個數據庫中加載數據,它可以正常工作)

要解決此問題,請確保通過排除 contenttypes 和 auth.permissions 表來備份數據庫:

./manage.py dumpdata --exclude auth.permission --exclude contenttypes > db.json

現在您可以在新數據庫中使用 loaddata 命令

./manage.py loaddata db.json

來源: https : //coderwall.com/p/mvsoyg/django-dumpdata-and-loaddata

如果您已轉儲數據庫,但不包括權限和內容類型,則您需要檢查 3 個主要內容:

1# 查看您的轉儲 json 是否是與 django 序列化相應的正確鍵和值,例如:

[

      {

      "model": "myDev.person",

      "pk": 1,

      "fields": {

              "first_name": "anjan",

              "last_name": "thakuri"

      }

    },

     {

      "model": "myDev.person",

      "pk": 2,

      "fields": {

              "first_name": "Swikriti",

              "last_name": "Thakuri"

     }

    }

]

確保您有這樣的格式,其中包括 3 個鍵: pkmodelfields (其余內容都在其中)。

該頁面中有一個鏈接指向JSON 序列化格式 102,它提供了更正式和完整的規范。

2#如果您使用的是自然鍵,我遇到的常見異常是因為自然鍵

你最了解的自然鍵

3# 相同的遷移實例(階段)用於快速指南Stackoverflow

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM