数据库的迁移
迁移是Django同步您对模型所做更改(添加字段,删除模型等)到您的数据库模型的方式
生成迁移文件——执行python manage.py makemigrations
将应用下的models.py文件生成一个中间文件,并保存在migrations文件夹中
执行迁移脚本程序 -执行python manage.py migrate
如果要想精确到某一个迁移文件则可以使用:
python manage.py migrate appname 文件名
创建模型类流程
任何关于表结构的修改,务必在对应模型上修改bookstore_book表添加一个名为InFo的字段varchar(100) 解决方案: 1.模型类中添加对应类属性 2.执行数据库迁移
模型类-字段类型
BooleanField 数据库类型:tinyint(1) 编程语言中使用True或False表示值 在数据库中:使用1或0来表示具体的值 CharField() 数据库类型:varchar 注意:必须要指定max_length参数值 DateField() 数据库类型(date)
模型类-Mate类
Mate类定义 使用内部Mate类来给模型赋予属性,Meta类下有很多内建的类属性,可对模型做一些控制
条件查询-方法
语法:MyModel.objects.get(条件) 作用:返回满足条件的唯一条数据 说明:该方法只能返回一条数据 查询结果多余一条数据则抛出 ,Model .MultpleObjectsReturned异常 查询结果如果没有数据抛出Model.DoseExist异常
查询谓词
定义:做更领会的条件查询时需要使用查询谓词 说明:每一个查询谓词是一个独立的查询功能 _contains:包含指定值 实例:Author.objects.filter(name_contains=‘w’) #等于select * from author where age > 50 _gte:大于等于 It:小于 Ite:小于等于 双下滑线
_in:查找数据是否在指定范围内 样例:Author.Objects.filter(country_in=[‘中国’,‘日本’,‘韩国’]) #等同于 select * from author where country in(‘中国’,‘日本’,‘韩国’)
_range:查询数据是否在指定的区间范围内 样例: #查询年龄在某一区间内的所有作者 Author.objects.filter(age_range=(35,50)) #等同于 SELECT …WGERE Author BETWEEN 35 and 50;
查询单个数据
1.查询 ——通过get(得到要修改的实体对象) 2.修改 ——通过对象.属性的方式修改数据 3.保存 ——通过对象.save()保存数据
删除数据
查找查询结果对应的一个数据对象 调用这个数据对象的delete()方法实现删除
try:
auth = Author.objects.get(id=1)
auth.delete()
except:
print(删除失败)
|