django orm对象关系映射

发布时间 2023-11-20 20:43:22作者: 朱饱饱

orm不会帮你创建库 只能创建到表的层面
需要你自己提前创建好库
"""
# 对象关系映射
表 类
记录 对象
数据 对象属性/方法
"""
能够让一个不会sql语句的python程序员也能够简单快捷的操作数据库,极大的提升开发效率
"""

# 去应用下的models.py中书写模型类
# 类 模型类
# 表 模型表
class UserInfo(models.Model):
# 当你没有创建主键字段的时候orm会自动帮你创建一个名为id的主键字段
uid = models.AutoField(primary_key=True)
# uid int primary key auto_increment
username = models.CharField(max_length=32)
# username varchar(32) CharField字段一定要书写max_length参数
password = models.IntegerField()
# password int
**************************数据库迁移命令*****************************
1.python3 manage.py makemigrations
# 将操作记录到小本本上(migrations文件夹内) 不能真正的直接操作数据库
2.python3 manage.py migrate
# 将操作真正的同步到数据库中
"""只要在models中书写了跟数据库相关的代码 就必须要重新执行上述两条命令"""

# pycharm简单快捷输入
tools
run manage.py task
自动提示
*******************************************************************

 

 

 

 

 

 

 

 

 

 

# 字段的增删改查
# 增
1.终端里面自己加默认值
2.null=True
3.default='666'

# 删
注释代码执行两条命令 (然后收拾行李跑路走人)
# 在操作models.py中的代码的时候一定要细心

# 改
修改代码执行两条命令

# 数据的增查
# 增
from app01 import models
1.create()
user_obj = models.UserInfo.objects.create(**kwargs)
# 改方法有一个返回值 就是当前创建的数据对象本身
2.对象.save()
# 先生成一个类对象
user_obj = models.User(**kwargs)
# 对象调用save方法
user_obj.save()

# 查
1.filter() # where
res = models.UserInfo.objects.filter(**kwargs)
"""
返回的结果是一个querySet对象 你可以把它看成是一个列表套数据对象
[数据对象1,数据对象2...]

支持索引和切片操作 但是不支持负数 并且不推荐你使用索引

.first()方法

filter括号内可以写多个参数 查询的时候默认是and关系
"""