# 查询相关API:
# <1>filter(**kwargs): 它包含了与所给筛选条件相匹配的对象
# <2>all(): 查询所有结果
# <3>get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。
#-----------下面的方法都是对查询的结果再进行处理:比如 objects.filter.values()--------
# <4>values(*field): 返回一个ValueQuerySet——一个特殊的QuerySet,运行后得到的并不是一系列 model的实例化对象,而是一个可迭代的字典序列
# <5>exclude(**kwargs): 它包含了与所给筛选条件不匹配的对象
# <6>order_by(*field): 对查询结果排序
# <7>reverse(): 对查询结果反向排序
# <8>distinct(): 从返回结果中剔除重复纪录
# <9>values_list(*field): 它与values()非常相似,它返回的是一个元组序列,values返回的是一个字典序列
# <10>count(): 返回数据库中匹配查询(QuerySet)的对象数量。
# <11>first(): 返回第一条记录
# <12>last(): 返回最后一条记录
# <13>exists(): 如果QuerySet包含数据,就返回True,否则返回False。
from django.shortcuts import render,HttpResponse
from app.models import *
# Create your views here.
def index(request):
return render(request,"index.html")
def addbook(request):
#Book,使用导入from app.models import *
b=Book(name="java",price=99,author="qiqi",pub_date="1456-12-12")
b.save()#save执行,则上面语句成功
#Book.objects.create(name="",。。。)另一种添加数据,不需要save
return HttpResponse("添加成功")
#要想此句需要from django.shortcuts import render,HttpResponse
def update(request):
Book.objects.filter(name="java").update(price="990")#修改方法一
# #修改方法二
# b=Book.objects.get(name="java")#拿到的b是列表类型是queryset集合的
# b[0].price=100
# b[0].save()
return HttpResponse("修改成功")
def delete(request):
Book.objects.filter(name="java").delete()
return HttpResponse("删除成功")
def select(request):
# book_list=Book.objects.all()#显示所有的
# book_list = Book.objects.all()[:2]#0 和1 2条记录,切片操作
# book_list = Book.objects.first()
# book_list = Book.objects.last()
# book_list = Book.objects.get(id=2)
book_list = Book.objects.all()
return render(request,"index.html",{"booklist":book_list})
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.head{
line-height: 40px;
background-color: green;
color: white;
text-align: center;
}
</style>
</head>
<body>
<div class="outer">
<div class="head">标题</div>
<div class="content">
<a href="/addbook/">添加书籍</a>
<a href="delete">删除书籍</a>
<a href="update">修改书籍</a>
<a href="select">查询书籍</a>
</div>
<hr>
<div class="queryresult">
{% for book in booklist %}
<div>
<p>{{ book.name }}{{ book.author }}{{ book.price }}</p>
</div>
{% endfor %}
</div>
</div>
</body>
</html>