当前位置:   article > 正文

Django QuerySet对象,get()方法

Django QuerySet对象,get()方法

模型参考上一章内容:

Django QuerySet对象,filter()方法-CSDN博客

Django的QuerySet对象的get()方法用于从数据库中获取单个对象。

1,添加视图函数

Test/app11/views.py

  1. from django.shortcuts import render
  2. from .models import Post
  3. def index(request):
  4. posts = Post.objects.all()
  5. return render(request, '11/index.html', {'posts': posts})
  6. # apps/books/views.py
  7. from django.shortcuts import render
  8. from .models import Book
  9. def book_list_view(request):
  10. # 使用filter()方法获取所有价格在1020之间的书籍
  11. # books = Book.objects.filter(price__gte=10, price__lte=20) # __gte是“greater than or equal to”(大于等于)的缩写,__lte是“less than or equal to”(小于等于)的缩写。
  12. # books = Book.objects.filter(price__gt=10) # 在Django的ORM(对象关系映射)查询中,__gt是过滤条件的一个特殊语法,用于表示“大于”(greater than)。
  13. books = Book.objects.filter(price__lt=29.99) # __lt 是“less than”(小于)的缩写。
  14. return render(request, '11/book_list.html', {'books': books})
  15. def get_book_view(request):
  16. try:
  17. # 使用get()方法获取标题为"Python Cookbook"的书籍
  18. book = Book.objects.get(id=19)
  19. # 现在book变量包含了匹配的书籍对象
  20. print(book)
  21. return render(request, '11/book_detail.html', {'book': book})
  22. except Book.DoesNotExist:
  23. # 如果没有找到匹配的书籍,返回错误信息
  24. return HttpResponse("Book not found.")
  25. except Book.MultipleObjectsReturned:
  26. # 如果找到多个匹配的书籍,返回错误信息
  27. return HttpResponse("Multiple books found with the same title.")

2,添加html代码

Test/templates/11/book_detail.html

  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>书籍列表</title>
  6. </head>
  7. <body>
  8. <h2>书籍:{{ book }}</h2>
  9. <h1>{{ book.title }}</h1>
  10. <p>作者: {{ book.author }}</p>
  11. <p>日期: {{ book.publication_date }}</p>
  12. <p>价格: {{ book.price }}</p>
  13. </body>
  14. </html>

3,添加路由地址

Test/app11/urls.py

  1. from django.urls import path
  2. from . import views
  3. urlpatterns = [
  4. path('index/', views.index, name='index'),
  5. path('book_list_view/', views.book_list_view, name='book_list_view'),
  6. path('get_book_view/', views.get_book_view, name='get_book_view'),
  7. ]

4,访问页面

http://127.0.0.1:8000/app11/get_book_view/

 可以看到成功获取到了id为19的数据了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/799729
推荐阅读
相关标签
  

闽ICP备14008679号