2015-10-04 14 views
-1

填充數據庫中,我想從這個JSON填充我的模型的DB:Django的:如何從JSON

{ 
    "pk": 1, 
    "model": "companies.Company", 
     "name": "Google", 
     "site": "google.com" 
    } 
}{ 
    "pk": 2, 
    "model": "companies.Company", 
    "fields": { 
     "name": "Zoho", 
     "site": "zoho.com", 
    } 
}{ 
    "pk": 3, 
    "model": "companies.Company", 
    "fields": { 
     "name": "Digg", 
     "site": "digg.com", 
    } 
}{ 

我做了我的JSON像documentation如何描述,但我不知道該怎麼辦從這裏!

如果有人知道我必須從這裏做什麼,我會喜歡一些幫助!很高興回答關於此問題的任何問題!

編輯:

有人告訴我跑

./manage.py loaddata companies.json 

當我跑了,我得到了:

' django.core.serializers.base.DeserializationError: Problem installing fixture 'PATH_TO_FILE/companies/fixtures/companies.json': Extra data: line 21 column 2 - line 5586860 column 6 (char 909 - 249730297)'

「行21列2 - 線5586860第6列(CHAR 909 -249730297)「是文件中的最後一個字符。我也嘗試刪除模型中的一個整體條目(以消除可能最後一個條目被搞砸了),但是我又一次得到了與文件中最後一個字符相關的錯誤。

編輯2

線20和21是簡單的,其中第一入口端和第二個開始(第20行是在該示例中的最後一行中的例子如上所示):

第20行:「}」

第21行:「} {」

PS第20行和第21行的原因是實際上有更多的字段;名稱和網站,在問題中顯示。

+0

它說,問題從第21行開始。請顯示第20行和第21行。 –

+0

@DanielRoseman我已將它們添加到問題中! –

+0

我建議通過json解析器運行你的json(在Linux下,我認爲我有jsonp)。它看起來像你的JSON形式不正確。 (你在字段中最後一行不應該有尾隨逗號,第21行可能應該是},{(並可能進一步重新格式化)等。 – Foon

回答

3

這不是有效的JSON;你不能緊隨大括號緊隨其後。您需要在它們之間逗號,但爲了使其有效,您需要將整個文件包含在[...]中。

2

你的 「公司/燈具」 目錄中的該文件,你應該只需要您的示例中運行

./manage.py loaddata your-fixture-filename.json 

固定JSON:

[ 
    { 
     "pk": 1, 
     "model": "companies.Company", 
     "fields": { 
      "name": "Google", 
      "site": "google.com" 
     } 
    }, 
    { 
     "pk": 2, 
     "model": "companies.Company", 
     "fields": { 
      "name": "Zoho", 
      "site": "zoho.com" 
     } 
    }, 
    { 
     "pk": 3, 
     "model": "companies.Company", 
     "fields": { 
      "name": "Digg", 
      "site": "digg.com" 
     } 
    } 
] 
+0

我已經編輯了關於你的答案的問題! –

+0

你能包括你的整個JSON文件嗎? – Oli

+0

我的JSON文件超過5M行! –