查询,all,字典形式{{ booklist }}

# 查询相关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>

 

posted @ 2018-08-06 15:19  未来的技术  阅读(270)  评论(2编辑  收藏  举报