Django中的ORM对数据库进行增删改查

本文详细介绍了如何在学生信息管理系统中进行数据的增加、删除、修改和查询操作,包括使用Python Django框架下的models.py文件中的Student类进行各种数据库操作的具体方法。
models.py中的类如下所示:
class Student(models.Model):
    student_id = models.CharField(max_length=20,primary_key=True)   #身份证号:主键
    student_name = models.CharField(max_length = 20)    #姓名
    student_addr = models.CharField(max_length=20)      #地址
    student_tel = models.CharField(max_length=20)       #电话
1、增加数据

方法一:

#POST请求获得的是字典,所以需要使用get()
   name = request.POST.get("student_name")  # 获取用户输入的姓名
   id = request.POST.get("student_id")  # 获取用户的学号
   address = request.POST.get("student_address")  # 获取用户的地址
   telephone = request.POST.get("student_telephone")  # 获取用户的电话
   
   Student.objects.create(student_name=name, student_id=id, student_addr=address, 
   						student_email=email,student_tel=telephone)  # 向student表中添加一条数据

方法二:

stu1 = Student(student_name=name, student_id=id, student_addr=address, 
   						student_email=email,student_tel=telephone)
stu1.save()		#flush到数据库中
2、删除数据

1)删除满足特定条件的数据

#因为是通过href中的url直接传的参数,所以要用GET请求方式
<a href="/return_book?student_id={{ record.id }}" ........></a>
	student_id = request.GET.get("student_id")
    Student.objects.filter(student_id=student_id).delete()  # 点击退订按钮后,删除该用户的订阅信息

2)删除所有数据(一般不这样干)

    Student.objects.all().delete()
3、更改数据
	addr = request.POST.get("addr")
    Student.objects.filter(student_tel=account).update(student_addr=addr)  # 更新数据
4、查看数据

1)查询满足条件的数据

result = Student.objects.filter(student_tel=account)

2)查询全部数据

students = Student.objects.all()

3)将字段内容排序后显示

Student.objects.order_by('student_id')

4)将字段内容逆序后显示结果

 Student.objects.order_by('-student_id')

5)限制数据条数

Student.objects.filter(student_addr='河北省')[0]  # [0]取第一条记录,[0:2]取前两条记录
Student.objects.filter(student_addr='河北省').order_by("‐age")[0] 
#切片不支持负数
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值