django调用sqlite:只读取现有的数据库,不从django生成数据库

Ross
  • 19

如题,本人全新手。

我想django调用现成的sqlite数据库。数据库是现有的,只读取,不做任何修改。

但我看了很多教程,都是介绍如何在django里生成新的数据库。

请求提示,如何调用?具体的说,app里面的models.py如何建立?是不是这个models.py只能用来生成新的数据库?

或者能不能帮我找找,有没有对我这种需求的教程?

谢谢。

回复
阅读 2.3k
2 个回答

额,不是很明白你的意思?我理解的是下面两个意思:

  • 1 是想不建立models.py 模型类,来调用sqlite里面的数据吗?

这样可以直接用djngo执行原始sql语句,应该就可以调用sqlite数据(我还没用过sqlite)一下用mysql说明

# 首先你django 配置文件,数据库信息确保配置正确
# 倒入django连接
from django.db import connection

# 可以用一下语句执行查询sql
with connection.cursor() as cursor:
    cursor.execute(sql)
return cursor.fetchall()
  • 2 你是想通过现有的sqlite数据库反向成model类,然后在通过model类调用数据库吗?

可以参照一下连接:
https://stackoverflow.com/que...

夏曰文
  • 2
新手上路,请多包涵

如果只是runserver,django并不会对数据库的结构做修改。
执行makemigrations命令时,会由models.py生成一些名称类似0001_initial.py的文件,这些文件用于创建或修改数据库结构。
执行migrate命令,才会使用makemigrations命令生成的文件来修改数据库结构。

建议上手实践,观察下修改models.py并执行makemigrations后生成的文件,以及执行migrate前后数据库的结构。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏