13 字段、数据的增删改查
字段增删改查
# 当表中已经有数据存在的情况下如果添加新的字段那么需要设置null或者default password = models.IntegerField(verbose_name='密码',null=True) # pwd int comment '密码' age = models.IntegerField('年龄',default=18)
注意:改完之后要重新数据库迁移
python3 manage.py makemigrations
python3 manage.py migrate
数据增删改查
查
方法一:
models.User.objects.all() # 查询user表中所有的数据 # select * from user; <QuerySet [<User: jason>, <User: tony>, <User: kevin>]>
方法二: models.User.objects.filter(name='jason') # 查询name=jason的数据 # select * from user where name='jason' <QuerySet [<User: jason>]> models.User.objects.filter(name='jason',password=123) # select * from user where name='jason' and password=123 <QuerySet [<User: jason>]> QuerySet我们可以简单的理解为是列表套一个个数据对象
增
方法一:
models.User.objects.create(name='jerry',password=567) # insert into user(name,password) values('jerry',567) 上述orm返回值为当前被创建出来的数据对象本身
方法二: obj = models.User(name='tom',password=111) # 类产生对象 obj.name ='oscar' obj.save() # 对象调用save方法保存到数据库
改
方法一:
edit_obj = models.User.objects.filter(id=3)[0]
edit_obj.name = 'kevinSB'
edit_obj.save()
方法二:
models.User.objects.filter(name='jason').update(name='jasonNB')
# update user set name='jasonNB' where name='jason';
删
models.User.objects.filter(id=5).delete() # delete from user where id=5;