存在问题:
django中如何对数据库进行常规的增删改查
解决方案:
python和.net还是有些区别,需要转变下思维
在项目APP中的views.py中添加相应方法
def student_list(request):
#student_queryset=models.Student.objects.all() #查询出所有数据
#student_queryset=models.Student.objects.all().order_by("student_age") #数据按某些字段排序
#student_queryset=models.Student.objects.filter(student_name='张三') #查询出某字段为特定值的数据
student_queryset=models.Student.objects.exclude(student_age=18) #查询出某字段为特定值的数据
return render(request,'student.html',{'student_queryset':student_queryset})
增:
student_queryset=models.Student.objects.create(student_name='牛本',student_age=13)
删:
student_queryset=models.Student.objects.filter(student_name='牛本').delete()
改:
student_queryset = models.Student.objects.filter(student_name='张三').update(student_age=10)
查:
filter(**kwargs) 包含了与所给筛选条件相匹配的对象
all() 查询所有结果
get(**kwargs) 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都是报错
values(*field) 返回一个ValueQuerySet,运行后得到的并不是一系列model的实例化对象,而是一个可迭代的字典序列
exclude(**kwargs) 包含了与所给的筛选条件不匹配的对象
order by(*field) 对查询结果排序
reverse() 对查询结果反向排序
distinct() 从返回结果中剔除重复记录
values_list(*field) 与values()非常相似,返回一个元组序列,values返回一个字典序列
count() 返回数据库中匹配的记录的数量
first() 返回数据库中匹配的对象的第一个对象
last() 返回数据库中匹配的对象的最后一个对象
exists() 判断一个对象集合中是否包含指定对象,包含返回True,不包含返回False
exclude() 排除满足条件的对象
annotate() 使用聚合函数
dates() 根据日期获取查询集
datetimes() 根据时间获取查询集
none() 创建空的查询集
union() 并集
intersection() 交集
difference() 差集
select_related() 附带查询关联对象
prefetch_related() 预先查询
extra() 附加SQL查询
defer() 不加载指定字段
only() 只加载指定的字段
using() 选择数据库
select_for_update() 锁住选择的对象,直到事务结束。
raw() 接收一个原始的SQL查询
————————————————
版权声明:本文为CSDN博主「菲宇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/bbwangj/article/details/79939269