PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Python
[問題] 如何動態產生Model
作者:
BlgAtlfans
(BLG_Eric)
2016-06-29 20:40:04
各位好 我是剛學Python沒多久的新手
最近正在寫一些Django的後端
目前我已經有一個或多個CSV檔上傳到MEDIA_ROOT
我想問的是
如果接著要匯入到Django的Sqlite裡產生Table並顯示
那Model.py裡對應的class應該如何依CSV的Field數目動態產生?
目前想到的是用Row.Count()之類的做
但是要怎麼產生對應的field或新的model就卡住了
另外我不太知道這個產生field的method應該要放到哪裡寫比較好
請各位指教了
P.S 不能預先寫好各個field再放入
因為之後後面有其他檔案(特別是不知道field數量的CSV)上傳的話
就沒用了
作者:
uranusjr
(â†é€™äººæ˜¯è¶…級笨蛋)
2016-06-29 21:28:00
最簡單直接用 dict喔不對你是要存到資料庫?這樣根本不可能, 你的資料庫欄位就不可能動態增減了, 新增欄位是要 migrate 的欸你需要改用動態 schema 的存取方式, 例如 JSONField
http://bit.ly/29c7ONj
或者 CSV 用 HStoreField 應該也滿合適的, 反正都是字串
作者:
BlgAtlfans
(BLG_Eric)
2016-06-29 22:36:00
感謝回答 但是不能直接在views或是form上直接用CreateTable{}之類的方式動態新增嗎?
作者:
billy0131
(Pluto)
2016-06-29 23:23:00
除非你動態寫出models.py的內容,不然還是用不了ORM單純看csv欄位寫sql新增table一定沒問題,就是很暴力
作者:
ihcaoe
(Ihc)
2016-06-30 14:10:00
用MangoDB會不會比較符合你的需求?
作者:
BlgAtlfans
(BLG_Eric)
2016-06-30 21:22:00
後來決定用postgresql來做 感謝各位回答
繼續閱讀
Re: [問題] 新手對Web Server和Web Framework的疑問
kenduest
Re: [問題] 台銀匯率爬蟲問題
iPhone007
[問題] 台銀匯率爬蟲問題
f0987654
[問題] 新手對Web Server和Web Framework的疑問
weinine32
[問題] ffmpeg issue
jackjenny
pandas 搜尋欄位
gbllggi
[資訊] pyclub! Taipei.py 每月 sprint 活動
keitheis
matrix
chukc
[問題] selenium爬蟲跳出儲存與否問題
xyz6206a
[問題] pyinstaller 包cv2的程式
kobenein
Links
booklink
Contact Us: admin [ a t ] ucptt.com