一开始总想着自己写 sql 语句,但接触了 django 以后发现内置的 ORM 模型是如此地好用。所以这次我直接创建了一个 django 项目,利用 django 中的 model 来读写数据库。
我的环境是用 django 1.8.3 版本的,1.6 以前的版本的初始化语句有所不同,具体可以百度。 以下为代码,代码文件为 script.py,应该储存到跟 manage.py 相同的文件夹下。
import osos.environ.setdefault('DJANGO_SETTINGS_MODULE', 'my_app.settings')import djangodjango.setup()# from django.core.exceptions import ObjectDoesNotExist# from django.db.models import Qfrom my_app.models import CommentComments.objects.get(user='admin')
my_app/settings.py 是存有数据库连接信息的配置文件,前四行代码读入了项目的数据库配置信息,进行数据库的初始化操作。后面一行则是我给出了一个例子,将 Comment 这个表引入,然后在脚本中就可以获取 Comments 里面的内容啦。
如果不对项目进行 setup() 初始化操作,当使用 Q 查询的时候就会产生一个错误如下:
django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet
如果遇到这个错误,那么就要想到是没有做初始化的缘故啦!