我試圖設計一個django應用程序的可擴展性。在模型中,我有一個Object類。我希望能夠定義對對象進行操作並根據預定義的API返回值的腳本。該計劃最終將包含數百個腳本,因此構建一個簡單的系統來管理它們是非常關鍵的。在django中,有沒有推薦的方法來存儲包含可執行的Python代碼的模型?
一些額外的功能:
- 我需要存儲關於腳本的信息(例如,描述字段)
- 我希望能夠使用視圖和表單這些腳本領域以最小麻煩。
- 安全不是一個大問題 - 我會自己寫這些腳本;我只需要一個乾淨的方式來編目。
有幾種方法可以做到這一點,比如將每個腳本的可執行代碼粘貼到對象模型上,然後創建一個腳本表來保存額外的字段。但沒有一個看起來像一個很好的OOP解決方案
我正在尋找乾淨的方法來構建系統。看起來關鍵問題在於腳本的代碼應該放在哪裏。選項:在DB中,對象模型,單獨的幫助函數,外部的python腳本...
建議?
澄清
我與克里斯聊起越來越過去XY問題,在這個問題上。以下是一些有助於澄清事情的細節。
此應用程序中的大部分對象都是文本。腳本對它們進行分析 - 例如「計算文檔中的單詞數量」,或者「檢查名單中的名人是否被命名」。腳本根據指定參數傳遞和返回的API與對象進行交互。將會有很多腳本,它們將包含可執行代碼以及其他元數據。我們希望做一些事情,比如填充列出腳本及其描述的表格。
聽起來像XY問題的案例示例(http: //meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。你真的想做什麼? –
我聽到你在說什麼,但我不認爲這是一個XY問題。我需要用一個不尋常的功能構建一個django應用程序:它將可執行代碼與「正常」模型字段相關聯。我正在尋找如何設計這種系統架構的建議。問題中的大多數其他信息可能是無關緊要的,但我想幫助人們解決問題的具體問題。關於系統架構的廣泛問題可能比具體的「幫我調試這個東西」的問題困難,但是stackoverflow有兩個空間。 – Abe
這幾乎是我引用的XY問題;)。存儲可執行代碼的想法會在應用程序模型中運行在應用程序的模型中,這幾乎讓我驚恐萬分。也許這是完全合乎邏輯的理由,但我無法想到一個,也沒有提到一個。所以真正的問題是你爲什麼「需要」這樣做呢? –