django学习之反向生成模型和增删改查

反向生成模型
在这里插入图片描述
增删改查

增加

直接增加

User.objects.create(username='测试用户',password='123',sex=1)

save保存添加

user=User(username='测试2')
user.password=hashlib.sha1('123'.encode('utf8')).hexdigest()
user.save()

批量插入

users=[]
for i in range(10):
user = User(username='测试2'+str(i),password=str(i))
users.append(user)
User.objects.bulk_create(users)

更新修改

单条更新

user=User.objects.get(pk=276)
    if user:
         user.username='大疆无人机'
         user.save()

更新多条,不需要保存(不要对多表查询做更新)

users=User.objects.filter(uid__gt=277)
users.update(sex=2)

删除

物理删除

 user=User.objects.get(pk=277)
 user.delete()

逻辑删除
在数据库加入是否删除列
点击删除将该字段修改为1
查询时进行删选

查询

查询结果集

	#all()
    # users=User.objects.all()
    #filter where子句 可以串联调用filter之后还可以filter
    # users=User.objects.filter(sex=2).filter(username='wd111')
    # 还可以写到一起
    # users = User.objects.filter(sex=2,username='wd111')

    #exclude 条件取反
    # users=User.objects.exclude(sex=1)

    #只取某一字段
    # users=User.objects.all().values('username')
    # for i in users:
    #     print(i)

    # order 排序
    # users=User.objects.all().order_by('-uid')
	#获取指定列
	users=User.objects.values('sex')
    #distinct 去重
    # users=User.objects.values('sex').distinct()

查询单条结果

	# 查询单条记录,返回多条会抛异常
    # user=User.objects.get(username='卢秋生')
    # first 返回查询结果的第一条
    # user=User.objects.filter(username='卢秋生').first()
    #exits判断是否存在
    user = User.objects.filter(username='卢秋生').exits()

查询结果集限制

		 # user=users[2] #取第几条记录
        # user=users[1:3] #切片 1,2
        #不能使用负下标,可以使用负索引eg:
        # user=users[10:1:-2]

关系运算

关系运算 gt > ;gte >=; lt <; lte <=;
在范围之间 range
in 在范围内
判空 =None
正则 regex
like模糊查询 iregex(正则表达式)

 # user=User.objects.filter(username_regex=r'^w') #以w开头
# user=User.objects.filter(username_regex=r'd') #包含d

统计

先过滤后统计

# num就是统计的别名
user=User.objects.filter.aggregate(num=Count('uid')) #根据uid进行统计

分组统计

#.values()分组,.annotate()分组统计函数与单独统计不同,可以有多个统计
user=User.objects.all().values('sex').annotate(Count('uid'))

多表关联查询
先创建多表关联视图创建出虚拟表

Vivado2023是一款集成开发环境软件,用于设计验证FPGA(现场可编程门阵列)可编程逻辑器件。对于使用Vivado2023的用户来说,license是必不可少的。 Vivado2023的license是一种许可证,用于授权用户合法使用该软件。许可证分为多种类型,包括评估许可证、开发许可证节点许可证等。每种许可证都有不同的使用条件功能。 评估许可证是免费提供的,让用户可以在一段时间内试用Vivado2023的全部功能。用户可以使用这个许可证来了解软件的性能特点,对于初学者小规模项目来说是一个很好的选择。但是,使用评估许可证的用户在使用期限过后需要购买正式的许可证才能继续使用软件。 开发许可证是付费的,可以永久使用Vivado2023的全部功能。这种许可证适用于需要长期使用Vivado2023进行开发的用户,通常是专业的FPGA设计师或工程师。购买开发许可证可以享受Vivado2023的技术支持更新服务,确保软件始终保持最新的版本功能。 节点许可证是用于多设备或分布式设计的许可证,可以在多个计算机上安装Vivado2023,并共享使用。节点许可证适用于大规模项目或需要多个处理节点进行设计的用户,可以提高工作效率资源利用率。 总之,Vivado2023 license是用户在使用Vivado2023时必须考虑的问题。用户可以根据自己的需求选择合适的许可证类型,以便获取最佳的软件使用体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值