通过任意脚本调用django的模型类

通过任意脚本调用django的模型类

需求:

我想通过任意脚本,调用django的模型类,查询一下数据库的信息,或者新增数据库数据,而不需要通过启动django项目或者使用python manage.py shell这种方式来运行

解决办法

脚本中添加django项目的路径到sys.path环境变量中

设置django项目的环境变量

然后调用django.setup()命令

就像这样

import os
import sys

sys.path.append(r"E:\github_code\learn-drf\tutorial")  # 这里是django项目的绝对路径,即django项目中manage.py所在的文件夹路径
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'tutorial.settings')  # 这里直接从django项目中manage.py进行拷贝
import django

django.setup()
# 导入django项目中的模型类  要是不知道该怎么导入 可以先去django项目中 根目录下创建一个py文件,然后输入模型类名让编辑器自动导入 或者找一找django项目中 使用模型类是怎么导入的 然后拷贝过来即可
# 也可以直接放在django项目的根目录下使用 这样导入就通过编辑器自动提示, 更方便了
from student_manager.models import Student

students = Student.objects.all()  # 后面就是直接使用模型类了
for s in students:
    print(s)


具体解释

我的django项目

项目路径:E:\github_code\learn-drf\tutorial

image-20230719152130635

image-20230719152023495

因此脚本就是上面写的那样

测试

image-20230719152839333

脚本输出

image-20230719152920684

PS

如果把这个脚本,直接放在django项目的根目录下,即放在django项目中manage.py所在的文件夹路径下,就更好用了,导入模型就靠编辑器自动导入,相当方便

posted @ 2023-07-19 15:33  南风丶轻语  阅读(43)  评论(0编辑  收藏  举报