Django学习——django ORM、orm实操、字段的增删改查、数据的增删改查

2022/4/27 23:43:25

本文主要是介绍Django学习——django ORM、orm实操、字段的增删改查、数据的增删改查,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

django orm

"""
orm:对象关系映射
"""

orm目的就是为了能够让不懂SQL语句的人通过python面向对象的知识点也能够轻松自如的操作数据库

面向对象的类     》》》    表
对象          》》》    表里面的数据
对象点属性      》》》    字段对应的值
# 缺陷: sql 封装死了 有时候查询速度很慢

orm实操

1.我们的模型类需要写在应用下的models.py文件中
class User(models.Model):
    # id int primary key auto_increment
    id = models.AutoField(primary_key=True)
    # name varchar(32)
    name = models.CharField(max_length=32)  # CharField必须要加max_length参数
    # age int
    age = models.IntegerField()

*************************************************************************************************
2.数据库迁移命令
	1.将数据库修改操作先记录到小本本上(对应应用下的migrations文件夹)
		python3 manage.py makemigrations
        
        D:\mysite1>python manage.py makemigrations
        Migrations for 'app01':
          app01\migrations\0001_initial.py
            - Create model User
            
	2.真正的执行数据库迁移操作
		python3 manage.py migrate
        
第一次执行数据库迁移命令Django默认需要创建依赖表
表名自动加前缀 目的是为了避免多个应用出现表名冲突的情况发生

	# 只要动了models.py中跟数据库相关的代码就必须重新执行上述两条命令
**************************************************************************************************

	3.针对主键字段
		class User1(models.Model):
            # 如果你不指定主键 那么orm会自动帮你创建一个名为id的主键字段
            # 如果你想让主键字段名不叫id 叫uid、sid、pid等需要自己手动指定
            username = models.CharField(max_length=32)

字段的增删改查

# 增
pwd = models.IntegerField('密码', null=True)  # 该字段可以为空
is_delete = models.IntegerField(default=0)  # 默认值
# 改
直接改代码然后执行数据库迁移命令即可
# 删
注释掉代码然后执行数据库迁移命令即可

数据的增删改查

# 1.查询数据
# select * from user where name=username and pwd=password;
# res = models.User.objects.filter(name=username)  # <QuerySet [<User: User object>]>  列表套数据对象
user_obj = models.User.objects.filter(name=username,pwd=password).first()  
# <QuerySet [<User: User object>]>  列表套数据对象
# user_obj = res[0]

# 2.添加数据
# insert into user(name,pwd) values(username,password);
models.User.objects.create(name=username,pwd=password)

# 3.查询所有的数据
# select * from user;  作了分页处理
user_data = models.User.objects.all()  # [obj1,obj2,obj3,obj4]
return render(request, 'home.html',{'user_data':user_data})

# 4.修改数据
models.User.objects.filter(id=edit_id).update(name=username,pwd=password)
# 第二种修改方式
edit_obj.name = username
edit_obj.pwd = password
edit_obj.save()

# 5.删除数据
models.User.objects.filter(id=delete_id).delete()

越往后学越简单 只不过过程是复杂的



这篇关于Django学习——django ORM、orm实操、字段的增删改查、数据的增删改查的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程