久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

在腳本中單獨(dú)使用django的ORM模型詳解

瀏覽:115日期:2024-10-12 17:25:07

有時(shí)候在測(cè)試django中一些模塊時(shí),不想重新跑一整個(gè)django項(xiàng)目,只想跑單個(gè)文件,正好寫在if __name__ == ’__main__’: 這樣也不會(huì)打擾到正常的代碼邏輯

方法

正常方法

大家都知道的方法就是’python manage.py shell’,當(dāng)然我知道這可能不是你需要的;

更好用的方法

在腳本中import模型前調(diào)用下面幾行即可:

import os, sysBASE_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’就不會(huì)報(bào)錯(cuò)了

補(bǔ)充知識(shí):Django使用外部文件對(duì)models操作容易產(chǎn)生的問題

看代碼吧!

from pv_server.models import IVCurvesInfo, FaultTypeimport osimport 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!')

以上述代碼為例

會(huì)產(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()

但,還是報(bào)錯(cuò)的原因是因?yàn)椋。。。≡趯?dǎo)入models的時(shí)候,還沒有在django對(duì)應(yīng)的環(huán)境下導(dǎo)入

這里導(dǎo)入的順序很重要

import osimport django os.environ.setdefault(’DJANGO_SETTINGS_MODULE’, ’PV_Moniter.settings’)django.setup() from pv_server.models import IVCurvesInfo, FaultType

這樣更換導(dǎo)入順序后,就順利的解決啦!

以上這篇在腳本中單獨(dú)使用django的ORM模型詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Django
相關(guān)文章:
主站蜘蛛池模板: 河津市| 武功县| 东乡县| 通辽市| 和政县| 兰溪市| 柳州市| 凤庆县| 民乐县| 黄山市| 紫金县| 昭觉县| 蕲春县| 博客| 湘潭县| 抚顺县| 恩施市| 花莲县| 古蔺县| 贡山| 郸城县| 息烽县| 鸡西市| 年辖:市辖区| 象州县| 镇雄县| 龙山县| 余庆县| 扎囊县| 达尔| 贡觉县| 山丹县| 遵义市| 洛宁县| 祁东县| 定襄县| 合作市| 太和县| 英超| 枣庄市| 新建县|