Django学习之增删改查
Posted antmoe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django学习之增删改查相关的知识,希望对你有一定的参考价值。
增加数据
第一种方式
def index(request):
#创建记录方式1
#实例化要添加的记录(对象)
student_obj = models.Student(
name='dazhuang',
age=23,
)
#自动刷新并存储到数据库
student_obj.save()
return render(request,'index.html')
第二种方式 常用方法
def index(request):
#创建记录方式2
# new_obj为返回值,返回这个类的对象 (model对象)
new_obj = models.Student.objects.create(name='xiaozhuang',age=5)
print(new_obj.name)
print(new_obj.age)
return render(request,'index.html')
第三种方式 批量创建
def index(request):
#创建方式3 批量创建
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
有就更新,没有就创建
models.Student.objects.update_or_create(
name='xiangxi0',
defaults={
'age':48,
}
)
删除数据
通过model对象或queryset对象调用delete方法
def delete(request):
# models.Student.objects.get(id=2).delete()
models.Student.objects.filter(name='xiaozhuang').delete()
return render(request,'index.html')
简单查询数据
获取全部数据
利用all()
方法
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对象)
def select(request):
#条件查询 查询id等于3的数据
objs = models.Student.objects.filter(id=3)
print(objs)
return render(request,'index.html')
条件查询 get
与filter类似,但返回的是model对象。get方法有且必须只有一条记录
更新数据
修改数据只能是queryset
对象,不能是model
对象
def update(request):
models.Student.objects.filter(id=1).update(age=38)
return render(request,'index.html')
以上是关于Django学习之增删改查的主要内容,如果未能解决你的问题,请参考以下文章