Aphorism

the fight is worth it.

django models 连接 sqlite 数据库

django 版本为 1.11.7

  1. 在 blog 项目下创建一个 app article :python manage.py startapp article

  2. 在 blog 项目结构下会多出一个 article 目录

  3. 在 article 下面的 models.py 文件中输入

from django.db import modelsclass Article(models.Model):name = models.CharField('名称',max_length = 30)age = models.CharFiels('年龄',max_length = 5)class Meta:db_table = 'Article'
  • step4: 在 子blog 目录中 修改 setting.py 文件

    - 要连接到哪种数据库 : sqlite ? mysql?
    - 连接的数据库路径
    
    下面这种配置表示:1.  sqlite 数据库 和 在项目根目录下 创建一个 article.db 数据库文件2.  数据库的类型 以及 数据库的存储位置DATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3','NAME': os.path.join(BASE_DIR, 'article.db'),}}
  • step5: 执行 python manage.py makemigrations

改动了 model.py的内容之后执行下面的命令:python manger.py makemigrations相当于 在该app下建立 migrations目录,并记录下你所有的关于modes.py的改动,比如0001_initial.py, 但是这个改动还没有作用到数据库文件

cmd 中会显示

Migrations for 'article':article\migrations\0001_initial.py- Create model Article
  • step6: 执行 python manage.py migrate

在第5步之后执行命令 将该models.py改动 作用到数据库文件,说明 /blog/article数据库文件已经被改变了,生成表格或者操作了数据
cmd 中 显示:

(blog) C:\Users\by\Desktop\review\python\blog\blog>python manage.py migrate
Operations to perform:Apply all migrations: admin, article, articles, auth, contenttypes, sessions
Running migrations:Applying contenttypes.0001_initial... OKApplying auth.0001_initial... OKApplying admin.0001_initial... OKApplying admin.0002_logentry_remove_auto_add... OKApplying article.0001_initial... OKApplying articles.0001_initial... OKApplying contenttypes.0002_remove_content_type_name... OKApplying auth.0002_alter_permission_name_max_length... OKApplying auth.0003_alter_user_email_max_length... OKApplying auth.0004_alter_user_username_opts... OKApplying auth.0005_alter_user_last_login_null... OKApplying auth.0006_require_contenttypes_0002... OKApplying auth.0007_alter_validators_add_error_messages... OKApplying auth.0008_alter_user_username_max_length... OKApplying sessions.0001_initial... OK
  • step7: 执行 python manage.py sqlmigrate app_name 0001

这个命令用于查看 生成的 sql语句, 这个命令相当于之前 django 版本中的 sqlall
cmd 中显示:

(blog) C:\Users\by\Desktop\review\python\blog\blog>python manage.py sqlmigrate article 0001
BEGIN;
--
-- Create model Article
--
CREATE TABLE "Article" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "name" varchar(30) NOT NULL, "age" varchar(5) NOT NULL);
COMMIT;
  • step8: 执行命令 python manage.py dbshell

可以看看数据中是否生成了对应的表,显然本例子中 Article 生成,Articles 是我之前启动的另一个 app
或者 sqlite3 article.db 然后 .tables也可以查看

cmd 中

(blog) C:\Users\by\Desktop\review\python\blog\blog>python manage.py dbshell
SQLite version 3.7.15.2 2013-01-09 11:53:05
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
Article                     auth_user_groups
Articles                    auth_user_user_permissions
auth_group                  django_admin_log
auth_group_permissions      django_content_type
auth_permission             django_migrations
auth_user 

使用 python shell insert 数据到 article.db 中

  1. execute python manage.py shell 进入项目的 python 命令执行环境中
  2. 使用python 语法往数据库 insert 数据

    >>> from article.models import Article## 等价写法: from articles import models.Article >>> Article.objects.create(name='tom',age='12')
    <Article: Article object>
    >>> Article.objects.create(name='juice',age='13')
    <Article: Article object>
  3. 查看article.db 数据库:

    • sqlite article.db
    • select * from article
sqlite> select * from Article...> ;
1|tom|12
2|juice|13
sqlite>

django 连接数据库 sqlite相关推荐

  1. Django连接数据库以及其他的基本操作

    Django连接数据库以及其他的基本操作 如何在Django中连接数据库 连接自带的数据库 在Django中连接其他的数据库 在db中创建表单 还有一种方法可以快速创建数据表 如何在Django中连接 ...

  2. django用sqlite跟mysql_django框架学习:九. django连接mysql,sqlite

    前言 Django 对各种数据库提供了很好的支持,包括:PostgreSQL.MySQL.SQLite.Oracle.本篇以mysql为例简单介绍django连接mysql进行数据操作 Django连 ...

  3. django连接mysql数据库_Django学习笔记(4)——Django连接数据库

    前言 在MVC或者MTV设计模式中,模型(M)代表对数据库的操作.那么如何操作数据库呢?本小节就认真学习一下.首先复习一下Django的整个实现流程 ,然后再实现一下使用数据库的整个流程,最后学习一下 ...

  4. python3 与 Django 连接数据库:Error loading MySQLdb module: No module named 'MySQLdb'

    在 python2 中,使用 pip install mysql-python 进行安装连接MySQL的库,使用时 import MySQLdb 进行使用 在 python3 中,改变了连接库,改为了 ...

  5. django连接数据库获取数据

    1.创建项目 执行代码 django-admin startproject myweb 2.创建应用 python manage.py startapp myapp 3.运行项目 python man ...

  6. Django+Layui+SQLite+JQuery实现一个简单的留言板

    本次使用到的知识: Django框架的使用 Layui的使用 Jquery的使用 SQLite的使用 实现效果: 目录 功能结构图 准备工作 创建项目 1.创建项目 2.创建App 3.创建对应文件夹 ...

  7. 解决django中sqlite版本低

    为什么要写这篇文章,因为我参考网上的方法没有解决了这个问题 后来在一篇文章中受到启发,但它写得过于简陋 django.core.exceptions.ImproperlyConfigured: SQL ...

  8. mysql oracle sqlit_【Go语言】连接数据库SQLite、MySQL、Oracle

    3.Go连接Oracle 3_1.Oracle推荐驱动以及准备事项 本人的数据库相关配置是 版本11.2.0.1.0 Go版本是1.2 系统是WIN7旗舰版64位 按照下面的步骤最终连接上了oracl ...

  9. django连接数据库和数据迁移

    django 连接mysql的配置流程: 安装 pymysql pip install pymysql 创建数据库用户 有创建数据库权限的用户 创建数据库对应的数据库 修改配置settings 修改项 ...

最新文章

  1. MyBatis 之 动态SQL
  2. linux下安装apache tomcat,Linux CentOS 7下 Apache Tomcat 7 安装与配置
  3. 0基础讲解机器学习算法-朴素贝叶斯分类器
  4. Python学习笔记:利用控制器跳转不同页面
  5. bzoj1088 [SCOI2005]扫雷Mine
  6. C#汉字转拼音帮助类
  7. centos7 yum install redis
  8. 关于加密、证书的那些事
  9. 打印机如何手动正反面Mac设置黑白打印
  10. shadow文件的MD5密码破解
  11. 笔记本 CPU 后面的字母 有U,H,Y,HQ,M 怎么区别?
  12. 从“无影”看云电脑的未来
  13. cv1378 选课(树)
  14. 上瘾读书笔记:让用户养成使用习惯的四大产品逻辑
  15. 虚幻4引擎2d游戏基础
  16. cloudera/quickstart
  17. 杀入预制菜赛道的陆正耀,还需戒急戒躁
  18. 详解康托展开与逆康托展开
  19. R型电焊机电源变压器的特点都有哪些?
  20. postman 上传文件

热门文章

  1. SRS4.0源码分析-SrsRecvThread::cycle
  2. 快速理解android View的测量onMeasure()与MeasureSpec
  3. 微信小程序商城搭建二手交易网站购物+后台管理系统|前后分离VUE.js
  4. HTML筑基知识点二
  5. linux netgear usb,家用四槽位 NETGEAR ReadyNAS NV+评测
  6. 模拟开关和数字开关的区别
  7. 最美春天,人间四月天
  8. 苹果台式一体机笔记本安装win7双系统攻略教程
  9. 另眼看嘀嘀:打车类应用背后的政策风险
  10. Spring之完整版学习笔记