欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-07 12:43:51
...

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] 
#切片不支持负数