2012-07-16 23 views
1

我有一個XML文檔,我需要將它導入到Django的數據庫(postgres)中。我想首先這是可能的,如果是的話,我該如何去做呢?將XML文檔導入Django(postgres)數據庫

我是Python/Django的新手,我記得在python shell中運行一個命令時,有人將模型加載到db中,並想知道是否有類似的東西?

我有一個模型設置的內容進去。我只是想能夠導入一個XML文檔,因爲有成千上萬的項目被添加。

謝謝

+3

這是一個非常廣泛的,可能會被關閉,除非你添加更多的具體信息。首先,查看http://lxml.de/進行分析。 – 2012-07-16 15:37:33

+2

您將需要包含XML文檔的片段,任何人都可以開始提供特定的解決方案。 – 2012-07-16 16:12:55

+0

我爲什麼? XMl文檔幾乎都是一樣的嗎?我只想知道如何導入它們。這是一個非常直接的XML文檔,所有的模型已經存在。 – JDavies 2012-07-17 08:11:45

回答

0

Django是不是一個數據庫。

基本上,你的選擇是:

  1. 如果XML是在Django使用夾具的格式,寫相匹配的數據模型,並加載它作爲燈具:https://docs.djangoproject.com/en/dev/howto/initial-data/#providing-initial-data-with-fixtures
  2. 如果你幾乎有能力做1,你可以使用XSLT或其他一些變壓器來解決這個問題。
  3. 創建您自己的自定義程序來提取數據,並創建模型作爲結果。你仍然需要創建你的模型。
  4. 使用XML數據庫,並將其掛接到django。
+0

謝謝,我會看看文檔。 – JDavies 2012-07-16 16:06:05

+0

我不得不說,我推薦3,只要你適合解析XML對象。我懷疑這個XML是以Django友好的格式。在我的經驗中,XSLT的學習曲線比Python更陡峭。 – 2012-07-16 16:14:25

+0

我不能說我以前做過。有沒有我可以看看這樣做的文件? (對不起,我真的是新手,所以任何幫助都會很棒!) – JDavies 2012-07-16 16:22:21

1

您是否爲保存在XML文檔中的數據編寫了模型?假設是這樣的話,這個頁面Django文檔應該有所幫助:

https://docs.djangoproject.com/en/1.2/howto/initial-data/#providing-initial-data-with-fixtures

+0

是的,我有一個模型所有設置,我只想將XML文檔中的所有字段導入到模型字段中。 謝謝,我現在就去看看。 – JDavies 2012-07-16 15:40:17

+1

它沒有xml格式的示例,但可以手動添加單個實例,然後將其轉儲爲xml格式以查看django如何預期數據的外觀。 – mattg 2012-07-16 15:42:35

+0

如果你需要一個體面的xml解析器,你可以自己編寫代碼來讀取xml並添加django對象,我會推薦BeautifulSoup。 – mattg 2012-07-16 16:19:30