Django中的数据库——sqlite3

    xiaoxiao2022-07-13  147

    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.表名)

    效果

    最新回复(0)