【django入门】 06 ORM对数据增删改查

在views.py中

新增

def index(request):
    UserInfo.objects.create(name="Name1", password="123", age=19)
    UserInfo.objects.create(name="Name2", password="123", age=19)
    UserInfo.objects.create(name="Name3", password="123", age=19)

return HttpResponse("anything1")

删除

def index(request):
	UserInfo.objects.filter(id=1).delete()
	UserInfo.objects.filter(name="Name2").delete()
	UserInfo.objects.all().delete()
	return HttpResponse("done")

2: 删除某个id的行
3: 删除所有满足特定条件的行
4: 删除所有行


查询

返回的是QuerySet类型 [行,行,行……]
每一行都是一个对象object

  • 查询返回每一项
def index(request):
    UserInfo.objects.create(name="Name1", password="123", age=19)
    UserInfo.objects.create(name="Name2", password="123", age=19)
    UserInfo.objects.create(name="Name3", password="123", age=19)

    data_list = UserInfo.objects.all()
    for obj in data_list:
        print(obj.id, obj.name, obj.password, obj.age)

  • 查询返回特定项
def index(request):
    UserInfo.objects.create(name="Name1", password="123", age=19)
    UserInfo.objects.create(name="Name2", password="123", age=19)
    UserInfo.objects.create(name="Name3", password="123", age=19)
	
    row_obj = UserInfo.objects.filter(age=19).last()
    print(row_obj.id, row_obj.name, row_obj.password)

    return HttpResponse("done")

三行数据age都=19,filter实际没有筛掉任何数据,last()是三行的最后一行,因此print的是Name3相关信息
但假如filter筛选结果仅一行,也需要在最后添加.last()或.first(),才能得到object


修改

  • 修改所有项目
def index(request):
    UserInfo.objects.create(name="Name1", password="123", age=19)
    UserInfo.objects.create(name="Name2", password="123", age=19)
    UserInfo.objects.create(name="Name3", password="123", age=19)

    UserInfo.objects.all().update(age=11)

    return HttpResponse("done")

  • 修改特定项目
def index(request):
    UserInfo.objects.create(name="Name1", password="123", age=19)
    UserInfo.objects.create(name="Name2", password="123", age=19)
    UserInfo.objects.create(name="Name3", password="123", age=19)

    UserInfo.objects.filter(name="Name1").update(age=10)

    return HttpResponse("done")

来源:BV1NL41157 武沛齐《2022 B站最详细django3教程(django从入门到实践)》P12-P16

posted @ 2022-02-08 14:09  navii  阅读(54)  评论(0)    收藏  举报