DAY72-Django框架(三)

一、orm简单介绍

1.orm的功能

可以创建数据表、对字段增删改。但是对数据库无法操作

2.字段操作

1.添加字段

#1.在models.py已有的类中添加一段语句
phone=models.CharField(max_length=64,default='120')
#2.后执行数据库迁移的语句
#3.如果没有设置默认值,数据迁移时会提示选项
	#①是否要对添加的字段设置默认值。然后输入默认值就行
    #②关闭数据迁移,在models.py中设置默认值。
#注:后来添加的字段需要有默认值

2.删除字段

​ 在models.py中删除或注释该字段即可,在执行数据迁移

3.修改字段

​ 在models.py中修改该字段即可,在执行数据迁移

3.数据操作

1.查询数据

#查询所有数据
res = models.User.objects.all()
#得到的返回值是queryset对象(当成列表),列表里面,一个一个的对象[user1,user2]

#查询指定数据
#显示所有符合条件的数据
models.User.objects.filter(id=id)
#显示符合条件的数据的第一条
models.User.objects.filter(id=id).first()

2.修改数据

models.User.objects.filter(id=id).update(name=name,password=pwd,address=addr)

3.删除数据

models.User.objects.filter(id=id).delete()
#返回值是影响数据的行数

4.插入数据

#两种方式:
#1 
user=models.User.objects.create(name=name,password=pwd,address=addr)
#2 
user=models.User(name=name,password=pwd,address=addr)
#返回值是一个对象
user.save()

4.多表操作

# 一对多的关系确立,关联字段写在多的一方,orm自动在publish后面加id,publish_id
publish = models.ForeignKey(to='Publish', to_field='id')
# 多对多关系,orm会自动创建第三张表
authors = models.ManyToManyField(to='Author')
posted @ 2018-11-06 15:37  藏岚  阅读(108)  评论(0编辑  收藏  举报