增加数据
第一种方式
1 2 3 4 5 6 7 8 9 10
| def index(request): student_obj = models.Student( name='dazhuang', age=23, ) student_obj.save() return render(request,'index.html')
|
第二种方式 常用方法
1 2 3 4 5 6 7
| def index(request): new_obj = models.Student.objects.create(name='xiaozhuang',age=5) print(new_obj.name) print(new_obj.age) return render(request,'index.html')
|
第三种方式 批量创建
1 2 3 4 5 6 7 8 9 10
| def index(request): objs = [] for i in range(20): obj = models.Student( name='xiangxi%s'%i, age = 10+i, ) objs.append(obj) models.Student.objects.bulk_create(objs)
|
第四种方式 update_or_create
有就更新,没有就创建
1 2 3 4 5 6
| models.Student.objects.update_or_create( name='xiangxi0', defaults={ 'age':48, } )
|
删除数据
通过model对象或queryset对象调用delete方法
1 2 3 4
| def delete(request): models.Student.objects.filter(name='xiaozhuang').delete() return render(request,'index.html')
|
简单查询数据
获取全部数据
利用all()
方法
1 2 3 4 5 6 7
| def select(request): all_objs = models.Student.objects.all() print(all_objs) for i in all_objs: print(i.name) return render(request,'index.html')
|
条件查询 filter
查询条件作为参数传入即可。
查到返回结果,否则反回空列表(QuerySet对象)
1 2 3 4 5
| def select(request): objs = models.Student.objects.filter(id=3) print(objs) return render(request,'index.html')
|
条件查询 get
与filter类似,但返回的是model对象。get方法有且必须只有一条记录
更新数据
修改数据只能是queryset
对象,不能是model
对象
1 2 3
| def update(request): models.Student.objects.filter(id=1).update(age=38) return render(request,'index.html')
|