這篇文章主要介紹了在腳本中如何使用django的ORM模型,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡(luò)程序員、網(wǎng)頁設(shè)計師等,應(yīng)用各種網(wǎng)絡(luò)程序開發(fā)技術(shù)和網(wǎng)頁設(shè)計技術(shù)配合操作的協(xié)同工作。創(chuàng)新互聯(lián)公司專業(yè)提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站制作(企業(yè)站、響應(yīng)式網(wǎng)站開發(fā)、電商門戶網(wǎng)站)等服務(wù),從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶體驗的提升,我們力求做到極致!有時候在測試django中一些模塊時,不想重新跑一整個django項目,只想跑單個文件,正好寫在if __name__ == '__main__': 這樣也不會打擾到正常的代碼邏輯
方法
正常方法
大家都知道的方法就是'python manage.py shell',當然我知道這可能不是你需要的;
更好用的方法
在腳本中import模型前調(diào)用下面幾行即可:
import os, sys BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # 定位到你的django根目錄 sys.path.append(os.path.abspath(os.path.join(BASE_DIR, os.pardir))) os.environ.setdefault("DJANGO_SETTINGS_MODULE", "dj_tasks.settings") # 你的django的settings文件
接下來再調(diào)用'from XXXX.models import XXX'就不會報錯了
補充知識:Django使用外部文件對models操作容易產(chǎn)生的問題
看代碼吧!
from pv_server.models import IVCurvesInfo, FaultType import os import django os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'PV_Moniter.settings') django.setup() def add_fault_type(fault_list, true_data_list, fault_decription_list=None): for item in fault_list: idx = fault_list.index(item) true_data = true_data_list[idx] fault_decription = fault_decription_list[idx] if (fault_decription_list and fault_decription_list[idx]) \ else None FaultType.addFault.create_faultType(item, true_data,fault_decription) if __name__ == '__main__': add_fault_type(['normal', 'partial shadow_1', 'partial shadow_2', 'partial shadow_3', 'short circuit_1', 'short circuit_2', 'degradation_1', 'degradation_2', 'open_circuit'], [0] * 9) print("Done!")
以上述代碼為例
會產(chǎn)生
django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
的問題,這里要注意 明明已經(jīng)增加了
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'PV_Moniter.settings')
django.setup()
但,還是報錯的原因是因為!!!!在導(dǎo)入models的時候,還沒有在django對應(yīng)的環(huán)境下導(dǎo)入
這里導(dǎo)入的順序很重要
import os import django os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'PV_Moniter.settings') django.setup() from pv_server.models import IVCurvesInfo, FaultType
這樣更換導(dǎo)入順序后,就順利的解決啦!
感謝你能夠認真閱讀完這篇文章,希望小編分享的“在腳本中如何使用django的ORM模型”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司,關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、網(wǎng)站設(shè)計器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站題目:在腳本中如何使用django的ORM模型-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://vcdvsql.cn/article0/iigio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、企業(yè)網(wǎng)站制作、網(wǎng)站制作、網(wǎng)站收錄、企業(yè)建站、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容