外部脚本调用 django 中的 Model

一开始总想着自己写 sql 语句,但接触了 django 以后发现内置的 ORM 模型是如此地好用。所以这次我直接创建了一个 django 项目,利用 django 中的 model 来读写数据库。

我的环境是用 django 1.8.3 版本的,1.6 以前的版本的初始化语句有所不同,具体可以百度。 以下为代码,代码文件为 script.py,应该储存到跟 manage.py 相同的文件夹下。

import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'my_app.settings')
import django
django.setup()
# from django.core.exceptions import ObjectDoesNotExist
# from django.db.models import Q
from my_app.models import Comment


Comments.objects.get(user='admin')

my_app/settings.py 是存有数据库连接信息的配置文件,前四行代码读入了项目的数据库配置信息,进行数据库的初始化操作。后面一行则是我给出了一个例子,将 Comment 这个表引入,然后在脚本中就可以获取 Comments 里面的内容啦。

如果不对项目进行 setup() 初始化操作,当使用 Q 查询的时候就会产生一个错误如下:

django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet

如果遇到这个错误,那么就要想到是没有做初始化的缘故啦!

转载于:https://my.oschina.net/shinedev/blog/488176

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值