ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-04-27 22:31:35  阅读:146  来源: 互联网

标签:username name models 改查 django User 增删 id user


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()

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

标签:username,name,models,改查,django,User,增删,id,user
来源: https://www.cnblogs.com/QiaoPengjun/p/16200932.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有