做破解的网站,wordpress首页不同列表样式,关键词排名查询网站,免费的wordpress模板下载ORM全称对象关系映射
作用#xff1a;通过python面向对象的代码简单快捷的操作数据库#xff0c;但是封装程度太高#xff0c;有时候sql语句的效率偏低#xff0c;需要自己写sql语句
类-----表
对象---记录
对象属性---记录某个字段对应的值
写在models.p…ORM全称对象关系映射
作用通过python面向对象的代码简单快捷的操作数据库但是封装程度太高有时候sql语句的效率偏低需要自己写sql语句
类-----表
对象---记录
对象属性---记录某个字段对应的值
写在models.py文件
1.先在models.py中书写一个类
from django.db import models# Create your models here.
class Mytable(models.Model):idmodels.AutoField(primary_keyTrue)#由于一张表中必须有一个主键字段并且一般情况下都叫id字段#所以orm在当你不定义主键字段的时候orm都会自动帮你创建一个名为id的主键字段#也就是说我们在创建模型表的时候如果主键名字没有别的叫法比如你要叫cid就需要自己写#那么主键字段可以省略不写namemodels.CharField(max_length32,verbose_name用户名)#CharField必须指定max_length参数不指定会直接报错#verbose_name是所有字段都有的用来对字段的解释passwordmodels.IntegerField(verbose_name密码)
2.数据库迁移命令
2.1 在terminal中输入命令: python manage.py makemigrations
意思是将操作的记录记录到 migrations文件夹在这文件夹下会多出一个文件 之后输入python manage.py migrate 执行数据库迁移命令后会自动创建表 只要修改了models.py中跟数据库相关的代码就必须重新执行上述两条命令。
2.2 偷懒输入这两句数据库迁移命令与上一个效果一样建议上一个命令熟练后再使用这个
只需要输入makemigrations migrate orm字段的增删改查
字段的增加
1.在类中写好字段代码后可以在终端内直接给出默认值
选择1给增加的字段添加默认值选择2退出自己去代码中增加 2.该字段可以为空nullTure
agemodels.IntegerField(nullTrue)
3.直接给字段设置默认值
agemodels.IntegerField(default18)
字段的修改
直接修改代码代码然后执行数据库迁移的两条命令即可
字段的删
直接注释对应的字段然后执行数据库的两条命令即可
注意执行完毕之后字段对应的数据也都没有了在操作models.py的时候一定要细心执行迁移命令之前最好检查好代码
建议当你离开你的计算机之后一定要锁屏
数据的增删改查
查
第一种
resmodels.User.objects.filter(usernameusername)
返回值先看成是列表套数据对象的格式
它支持索引取值 切片操作 但不支持负数索引
也不推荐使用索引取值
user_objmodels.User.objects.filter(usernameusername).first() 第二种 user_querysetmodels.User.objects.all()return render(request,userlist.html,locals())
增
第一种方式 from app01 import modelsresmodels.User.objects.create(usernameusername,passwordpassword)
返回值就是当前被创建的对象本身print(res,res.username,res.password)
第二种方式
user_objmodels.User(usernameusername,passwordpassword)
user_obj.save() #保存数据
改
a href/edit_user/?user_id{{ user_obj.id }} 编辑/a
拼接一个url的路径?user_id
然后更新数据
models.User.objects.filter(idedit_id).update(usernameusername,passwordpassword)
删
models.User.objects.filter(iddelete_id).delete()
补充真正的删除功能需要二次确认删除功能内部其实不是真正的删除我们会给数据添加一个标识字段用来表示数据是否被删除了如果数据被删了仅仅只是讲字段修改一个状态