Microsoft Windows [版本 10.0.19042.928]
(c) Microsoft Corporation。保留所有权利。C:\Users\520>cd mysiteC:\Users\520\mysite>dir驱动器 C 中的卷是 Windows-SSD卷的序列号是 42D9-2A68C:\Users\520\mysite 的目录2021/05/20  22:47    <DIR>          .
2021/05/20  22:47    <DIR>          ..
2021/05/28  00:11    <DIR>          .idea
2021/05/20  22:47           135,168 db.sqlite3
2021/05/20  22:32               684 manage.py
2021/05/20  23:59    <DIR>          myapp
2021/05/20  23:02    <DIR>          mysite
2021/05/20  22:32    <DIR>          templates
2021/05/20  22:32    <DIR>          venv2 个文件        135,852 字节7 个目录 426,944,303,104 可用字节C:\Users\520\mysite>python manage.py shell
Python 3.7.7 (tags/v3.7.7:d7c567b08f, Mar 10 2020, 10:41:24) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)>>> from myapp.models import Book
>>> a1=Book.objects.all()
>>> a1
<QuerySet [<Book: Book object (1)>, <Book: Book object (2)>, <Book: Book object (3)>, <Book: Book object (4)>, <Book: Book object (5)>]>
>>> for book in a1:
... print(book.title)File "<console>", line 2print(book.title)^
IndentationError: expected an indented block
>>> for book in a1:
...     print(book.title)       # 按一个tab键,缩进
...
python
django
jquery
linux
html5
>>>

改进程序,在模型类中添加__str__(self)方法
模型类中没有__str__(self)方法,返回类的实例对象时返回实例的内存地址
模型类中有__str__(self)方法,返回类的实例对象时返回描述信息

因为更改了模型类,exit(),退出Django shell,重新进入shell,重新import

>>> exit
Use exit() or Ctrl-Z plus Return to exit
>>> exit()C:\Users\520\mysite>python manage.py shell
Python 3.7.7 (tags/v3.7.7:d7c567b08f, Mar 10 2020, 10:41:24) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from myapp.models import Book
>>> a1 = Book.objects.all()
>>> a1
<QuerySet [<Book: 书名:python_出版社:清华大学出版社_价格:20.00_市场价:25.00>, <Book: 书名:django_出版社:清华大学出版社_价格:70.00_市场价:75.00>, <Book: 书名:jquery_出版社: 机械工业出版社_价格:90.00_市场价:85.00>, <Book: 书名:linux_出版社:机械工业出版社_价格:80.00_市场价:65.00>, <Book: 书名:html5_出版社:清华大学出版社_价格:90.00_市场价:105.00>]>
>>> for book in a1:
...     print(book)
...
书名:python_出版社:清华大学出版社_价格:20.00_市场价:25.00
书名:django_出版社:清华大学出版社_价格:70.00_市场价:75.00
书名:jquery_出版社:机械工业出版社_价格:90.00_市场价:85.00
书名:linux_出版社:机械工业出版社_价格:80.00_市场价:65.00
书名:html5_出版社:清华大学出版社_价格:90.00_市场价:105.00
>>>

>>> a2 = Book.objects.values("title","pub")
>>> a2
<QuerySet [{'title': 'python', 'pub': '清华大学出版社'}, {'title': 'django', 'pub': '清华大学出版社'}, {'title': 'jquery', 'pub': '机械工业出版社'}, {'title': 'linux', 'pub': '机械工业出版社'}, {'title': 'html5', 'pub': '清华大学出版社'}]>
>>> for book in a2:
...     print(book["title"])
...
python
django
jquery
linux
html5
>>>

>>> a3 = Book.objects.values_list("title","pub")
>>> a3
<QuerySet [('python', '清华大学出版社'), ('django', '清华大学出版社'), ('jquery', '机械工业出版社'), ('linux', '机械工业出版社'), ('html5', '清华大学出版社')]>
>>> for book in a3:
...     print(book[0])
...
python
django
jquery
linux
html5
>>>

>>> a4 = Book.objects.order_by("-price")
>>> a4
<QuerySet [<Book: 书名:jquery_出版社:机械工业出版社_价格:90.00_市场价:85.00>, <Book: 书名:html5_出版社:清华大学出版社_价格:90.00_市场价:105.00>, <Book: 书名:linux_出版社:机械工业出版社_价格:80.00_市场价:65.00>, <Book: 书名:django_出版社:清华大学出版社_价格:70.00_市场价:75.00>, <Book: 书名:python_出版社:清华大学出版社_价格:20.00_市场价:25.00>]>
>>> a5 = Book.objects.values("title").order_by("-price")
>>> a5
<QuerySet [{'title': 'jquery'}, {'title': 'html5'}, {'title': 'linux'}, {'title': 'django'}, {'title': 'python'}]>
>>>print(a5.query)
SELECT `book`.`title` FROM `book` ORDER BY `book`.`price` DESC
>>>


V层把M层的数据取出来,放到T里渲染

主路由

from django.contrib import admin
from django.urls import path, includeurlpatterns = [path('admin/', admin.site.urls),path("bookstore/", include("myapp.urls"))
]

子路由

from django.urls import path
from . import viewsurlpatterns = [path("all_book", views.all_book),
]

views.py

from django.shortcuts import render
from .models import Book# Create your views here.
def all_book(request):all_book = Book.objects.all()return render(request, "myapp/abook.html", locals())

abook.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>查看所有书籍</title>
</head>
<body>
<table border="1"><tr><th>id</th><th>title</th><th>pub</th><th>price</th><th>market_price</th><th>op</th></tr><tr>{% for book in all_book %}<tr><td>{{ book.id }}</td><td>{{ book.title }}</td><td>{{ book.pub }}</td><td>{{ book.price }}</td><td>{{ book.market_price }}</td><td><a href="">更新</a><a href="">删除</a></td></tr>{% endfor %}</tr>
</table></body>
</html>


Django:ORM基本操作-CRUD,管理器对象objects,----->查询1(all,values,values_list,order_by)相关推荐

  1. 【Django入门】——模型管理器对象、模型管理器类和模型类

    文章目录 一.模型管理器对象 1. 自定义模型管理器对象 2. 自定义模型管理器类 3. 自定义模型管理器类应用 3.1 重写框架的方法 3.2 封装自定义方法 4. 模型管理器对象的`model`属 ...

  2. Django:ORM基本操作-CRUD,管理器对象objects,----->聚合查询、原生数据库操作

    Microsoft Windows [版本 10.0.19042.928] (c) Microsoft Corporation.保留所有权利.C:\Users\520>cd..C:\Users& ...

  3. Django:ORM基本操作-CRUD,管理器对象objects,----->删除:删除单个数据,删除批量数据

    Microsoft Windows [版本 10.0.19042.928] (c) Microsoft Corporation.保留所有权利.C:\Users\520>cd mysiteC:\U ...

  4. Django:ORM基本操作-CRUD,管理器对象objects,----->查询3(单条更新,批量更新)

    >>> b1 = Book.objects.get(id=1) >>> b1 <Book: 书名:python_出版社:清华大学出版社_价格:20.00_市场 ...

  5. Django:ORM基本操作-CRUD,管理器对象objects,----->查询2(filter,exclude,get,查询谓词)

    https://docs.djangoproject.com/zh-hans/3.2/ref/models/expressions/ Microsoft Windows [版本 10.0.19042. ...

  6. Django:ORM基本操作-CRUD,管理器对象objects,----->新增

    Microsoft Windows [版本 10.0.19042.928] (c) Microsoft Corporation.保留所有权利.C:\Users\520>cd..C:\Users& ...

  7. manager objects is not callable(管理器对象不可调用)

    背景:对数据库进行序列化操作,在从浏览器调用视图函数时,会报 manager objects is not callable(翻译的内容为:管理器对象不可调用) 框架:django和Django RE ...

  8. Django中--自定义模型管理器类

    BookInfo.objects.all()->objects是一个什么东西呢? 答:objects是models.Manger类的一个对象,是Django帮我自动生成的管理器对象,通过这个管理 ...

  9. django orm基本操作一

    一.Django–ORM表设计格式(个人) 1.一对一建立外键 不同于django如需扩展原user表,将外键建在副表上.我更喜欢将外键建在主表上 外键名称 = models.OneToOneFiel ...

最新文章

  1. Android - HttpURLConnection 抛出异常
  2. 【LeetCode从零单排】No.135Candy(双向动态规划)
  3. (HttpURLConnection)强制转化
  4. 04Hadoop中的setPartitionerClass/SortComparator/GroupingComparator问题
  5. 通过编程解决问题的正确思路
  6. 【uva-673】 Parentheses Balance(括号匹配问题)
  7. 今天动手熟悉了一下css和php
  8. word2vector数据集样式_这样做数据可视化驾驶舱,高端大气,一目了然,领导不点赞都难...
  9. js实现文字从右滚动到左边代码循环滚动实例
  10. UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte
  11. 凸优化第七章统计估计 7.5实验设计
  12. SmartMesh WireLess HART 资料总结
  13. tomcat7中get请求中文乱码问题
  14. java nio和io的区别_Java NIO和IO的区别
  15. 硬件设计-USB2.0电路设计
  16. 手把手教你用键盘开机
  17. 一种MATLAB中解复杂方程(高次、指数、无解析解)的方法,可以在实现论文中公式时使用,solve函数。
  18. 动物识别系统代码python_人工智能-动物识别专家系统算法Python + Pyqt 实现
  19. 手机端微信突然弹出电脑端已登录,是什么原因?
  20. 前后端异地、接口如何联调呢

热门文章

  1. Scala之集合Collection
  2. Ubuntu下安装setuptools
  3. Hive集成Mysql作为元数据时,提示错误:Specified key was too long; max key length is 767 bytes...
  4. 20169214 2016-2017-2《网络攻防实践》第二周学习总结
  5. newton法分形图
  6. 前置摄像头 镜像_iPhone 前置摄像头拍照左右相反?试试 iOS 13 的照片编辑功能...
  7. xadmin获取mysql_Django+Xadmin构建项目的方法步骤
  8. compilation error错误是什么原因_了解如何使用Try,Throw,Catch和Last处理JavaScript错误...
  9. python2.7安装教程win7_win7 64位环境下,为python2.7 安装pip
  10. arduino蜂鸣器音乐代码青花瓷_教你用 Arduino 制造简易金属探测器