Django中的数据库——sqlite3

本文介绍了如何在Django项目中使用默认的sqlite3数据库,包括创建项目、添加子应用、设置配置、执行数据库迁移、创建管理后台以及在admin页面展示模型。

1.sqlite3

django中因为数据关系使用的的是sqlite3,
	他是一款轻型的数据库,遵守了ACID(原子性,一致性,隔离性,持久性)的关系型数据库管理系统
	零配置-无需安装和管理配置
	储存在单一磁盘文件中的一个完整的数据库
	支持数据库大小志2TB
	足够小,大概13万行C代码,4.43M
	比一些流行的数据库在大部分数据库操作要快
	独立:没有额外的依赖
	源码完全的开源,你可以用于任何途径,你也可以出售他
	支持多种开发语言,C,C++,C#,PHP,Perl,Java,Python,Ruby等
	良好注释的源代码, 并且有着90%以上的测试覆盖率
	支持多种SQL语句
	ATTACH DATABASE
	BEGIN TRANSACTION
	comment
	COMMIT TRANSACTION
	COPY
	CREATE INDEX
	CREATE TABLE
	CREATE TRIGGER
	CREATE VIEW
	DELETE
	DETACH DATABASE
	DROP INDEX
	DROP TABLE
	DROP TRIGGER
	DROP VIEW
	END TRANSACTION
	EXPLAIN
	expression
	INSERT
	ON CONFLICT clause
	PRAGMA
	REPLACE
	ROLLBACK TRANSACTION
	SELECT
	UPDATE

(1)#创建一个django项目

django-admin startproject myproject(自定义的项目名)

在这里插入图片描述
django中自带的就有一个数据库——sqlite3
在创建好项目之后 setting.py中就有本身的一个数据库
在这里插入图片描述
(2)创建一个子应用
进入到django项目的根目录下

cd myproject
python manage.py startapp myapp(自定义的子应用)

在这里插入图片描述
(3)创建完app后在setting.py中把你的app添加在配置文件中
如图:
在这里插入图片描述
(4)在命令行中迁移django自带的表

python manage.py migrate

在这里插入图片描述
(5)创建一个admin管理后台

python manage.py createsuperuser

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(6)打开app下面的models.py进行创建表

一、字段
	1、models.AutoField  自增列= int(11)
	  如果没有的话,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将				给列设置为主键 primary_key=True。
	2、models.CharField  字符串字段
	  必须 max_length 参数
	3、models.BooleanField  布尔类型=tinyint(1)
	  不能为空,Blank=True
	4、models.ComaSeparatedIntegerField  用逗号分割的数字=varchar
	  继承CharField,所以必须 max_lenght 参数
	5、models.DateField  日期类型 date
	  对于参数,auto_now =True则每次更新都会更新这个时间;auto_now_add 则只是第一次创建添加,之后的更新不再改变。
	6、models.DateTimeField  日期类型 datetime
	  同DateField的参数
	7、models.Decimal  十进制小数类型= decimal
	  必须指定整数位max_digits和小数位decimal_places
	8、models.EmailField  字符串类型(正则表达式邮箱)=varchar
	  对字符串进行正则表达式
	9、models.FloatField  浮点类型= double
	10、models.IntegerField  整形
	11、models.BigIntegerField  长整形
	  integer_field_ranges ={
	    'SmallIntegerField':(-32768,32767),
	    'IntegerField':(-2147483648,2147483647),
	    'BigIntegerField':(-9223372036854775808,9223372036854775807),
	    'PositiveSmallIntegerField':(0,32767),
	    'PositiveIntegerField':(0,2147483647),
	  }
	12、models.IPAddressField  字符串类型(ip4正则表达式)
	13、models.GenericIPAddressField  字符串类型(ip4和ip6是可选的)
	  参数protocol可以是:both、ipv4、ipv6
	  验证时,会根据设置报错
	14、models.NullBooleanField  允许为空的布尔类型
	15、models.PositiveIntegerFiel  正Integer
	16、models.PositiveSmallIntegerField  正smallInteger
	17、models.SlugField  减号、下划线、字母、数字
	18、models.SmallIntegerField  数字
	  数据库中的字段有:tinyint、smallint、int、bigint
	19、models.TextField  字符串=longtext
	20、models.TimeField  时间 HH:MM[:ss[.uuuuuu]]
	21、models.URLField  字符串,地址正则表达式
	22、models.BinaryField  二进制
	23、models.ImageField图片
	24、models.FilePathField文件
二、字段参数
	1、null=True
	  数据库中字段是否可以为空
	2、blank=True
	  django的 Admin 中添加数据时是否可允许空值
	3、primary_key = False
	  主键,对AutoField设置主键后,就会代替原来的自增 id 列
	4、auto_now 和 auto_now_add
	  auto_now 自动创建---无论添加或修改,都是当前操作的时间
	  auto_now_add 自动创建---永远是创建时的时间
	5、choices
	GENDER_CHOICE = (
	(u'M', u'Male'),
	(u'F', u'Female'),
	)
	gender = models.CharField(max_length=2,choices = GENDER_CHOICE)
	6、max_length
	7、default  默认值
	8、verbose_name  Admin中字段的显示名称
	9、name|db_column  数据库中的字段名称
	10、unique=True  不允许重复
	11、db_index = True  数据库索引
	12、editable=True  在Admin里是否可编辑
	13、error_messages=None  错误提示
	14、auto_created=False  自动创建
	15、help_text  在Admin中提示帮助信息
	16、validators=[]
	17、upload-to

在这里插入图片描述
(7)开始迁移表

python manage.py makemigrations

在这里插入图片描述

python manage.py migrate

在这里插入图片描述
(8)如果想在admin页面上看到表
打开app下的admin.py 导入你的models.py文件

from 子项目名 import models
admin.site.register(models.表名)

在这里插入图片描述

效果
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值