我的编程空间,编程开发者的网络收藏夹
学习永远不晚

django-models 数据库取值

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

django-models 数据库取值

  1 django.shortcuts import render,HttpResponse
  2 from app01.models import *
  3 # Create your views here.
  4 
  5 def index(request):
  6     return render(request,"index.html")
  7 
  8 def addbook(request):
  9     # 一对多的添加
 10 
 11 
 12 
 13     # 第一种方式
 14     # Book.objects.create(name="Linux运维",price=1133,pub_date="2017-11-22",publish_id=2)
 15 
 16 
 17 
 18     # 第二种添加方式 publish_id,没办法添加publish_obj
 19     # publish_obj=Publish.objects.filter(name="人民出版社")[0]
 20     # print("+++!!!****",publish_obj)
 21     # +++!!!**** Publish object (1)
 22     # print(type(publish_obj))
 23     # <class 'app01.models.Publish'>
 24 
 25     # Book.objects.create(name="GO语言", price=43, pub_date="2017-07-17", publish_id=2)
 26     # INSERT INTO `app01_book` (`name`, `price`, `pub_date`, `publis
 27     # h_id`) VALUES ('GO语言', 43, '2017-07-17', 2); args=['GO语言', 43, '20
 28     # 17-07-17', 2]
 29 
 30 
 31 
 32     # 拿到数据库里面的表的值,有两步,先拿到值,再赋给对象
 33     # 再从里面取值
 34     # 先拿到book表,取到name=python的值,再赋给对象
 35     # 如果是两个值,会报错,get只能得到一个值
 36     # book_obj=Book.objects.get(name='python')
 37     #
 38     # print("----",book_obj)
 39 
 40 
 41 
 42     # 一对多:book_obj.publish------一定是一个对象
 43     # 如果是要取外键的表的值,取publish会取到一个publish对象
 44     # print(type(book_obj.publish))
 45     # print(book_obj.publish.name)
 46     # print(book_obj.publish.city)
 47 
 48 
 49 
 50     # 从子表去找主表
 51     # 要拿到表中外键的表的值,步骤有
 52     # 先拿到publish表是name的值等于机械出版社的一整行对象pub_obj(表中有id,name,city)
 53     # SELECT `app01_publish`.`id`, `app01_publish`.`name`, `app01_pu
 54     # blish`.`city` FROM `app01_publish` WHERE `app01_publish`.`name` = '机
 55     # 械出版社'; args=('机械出版社',)
 56     # 把pub_obj结果赋值给publish,由id作为查找依据,再从book表中找到要查询的name跟price
 57     # SELECT `app01_book`.`name`, `app01_book`.`price` FROM `app01_b
 58     # ook` WHERE `app01_book`.`publish_id` = 4  LIMIT 21; args=(4,)
 59 
 60     # get查找方式:表.objects.get()--只能有一个对象
 61     # pub_obj=Publish.objects.get(name='机械出版社')
 62 
 63     # filter查找方式:表.objects.filter()[0]--是对象的集
 64     # pub_obj2=Publish.objects.filter(name="山西出版社")[0]
 65     # print(pub_obj)
 66     # Publish object (4)
 67 
 68     # print(pub_obj.city)
 69     # 上海
 70     # print(pub_obj.id)
 71     # 4
 72 
 73     # 关键点:把publish表的对象放进filter里面筛选,再从里面values取值
 74     # ret=Book.objects.filter(publish=pub_obj).values("name","price")
 75     # ret2=Book.objects.filter(publish=pub_obj2).values("name","pub_date")
 76 
 77     # print(ret)
 78     # print(ret2)
 79     # 机械出版社出版的书籍跟价格---query对象
 80     # <QuerySet [{'name': 'Java', 'price': 65}, {'name': 'Linux开发', 'price
 81     # ': 1133}, {'name': 'Linux系统', 'price': 133}, {'name': 'Linux服务器',
 82     #  'price': 133}]>
 83 
 84 
 85 
 86     # 从主表再去找子表
 87     # ,第一步相同,从publish表找到name等于南方出版社,赋值给pub_obj
 88     pub_obj = Publish.objects.filter(name='山西出版社')[0]
 89     # 再从pub_obj里面找到book_set.all()(book子表的所有内容) 是一个对象集合
 90 
 91     # publish表拿到了book表的对象,表名+单引号,得到了表名里面的queryset对象.all()的所有值,
 92     # book_set.all(),再从里面values取值
 93     print(pub_obj.book_set.all())
 94     # <QuerySet [<Book: Django>, <Book: Linux运维>, <Book: sqlyog>, <Book: Linux代码>, <Book: GO语言>, <Book: GO语言>, <Book: GO语言>, <Book: moring>]>
 95 
 96     print(pub_obj.book_set.all().values("name",'price'))
 97     # <QuerySet [{'name': 'Django', 'price': 45}, {'name': 'Linux运维', 'pri
 98     # ce': 1133}, {'name': 'sqlyog', 'price': 1133}, {'name': 'Linux代码', '
 99     # price': 133}, {'name': 'GO语言', 'price': 43}, {'name': 'GO语言', 'pri
100     # ce': 43}, {'name': 'GO语言', 'price': 43}, {'name': 'moring', 'price':
101     #  23}]>
102 
103     # 更简便的第3种方式:
104     ret=Book.objects.filter()

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

django-models 数据库取值

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

django-models 数据库取值

1 django.shortcuts import render,HttpResponse 2 from app01.models import * 3 # Create your views here. 4 5 def inde
2023-01-30

django怎么获取文本框值更新数据库

要获取文本框的值并更新数据库,你可以按照以下步骤进行操作:在Django中创建一个包含文本框的HTML表单,例如:{% csrf_token %}更新在urls.py中定义一个路由,将其映射到一个视图函数上:from django.ur
2023-10-24

Mysql数据库反向生成Django里面的models指令方式

python manage.py inspectdb或python manage.py inspect > app/models.py补充知识:Django框架MySQL数据库到models模型的映射关系 一、前言 我的数据库已经用MySQ
2022-05-13

django怎么拿取已有数据库的数据

在Django中,可以使用模型来访问和操作数据库。要访问已有数据库的数据,首先需要在Django项目中创建一个对应于数据库表的模型。1. 在Django项目的`models.py`文件中,定义一个模型类,类名对应于数据库表的名字,属性对应于
2023-09-26

jmeter怎么提取数据库返回值

要在JMeter中提取数据库返回值,可以使用以下步骤:1. 添加“JDBC Connection Configuration”元件:在测试计划中右键点击->添加->配置元件->JDBC Connection Configuration。在这
2023-08-15

Django中从mysql数据库中获取数据传到echarts方式

尝试了几种方法,感觉过于复杂,于是自己写了一个方法。 (1)首先在要绘图的页面传入从数据库中提取的参数,这一步通过views可以实现; (2)然后是页面加载完成时执行的函数ready,调用方法f; (3)在函数f中获取参数,此时是strin
2022-05-27

数据库tinyint的取值范围是多少

在大多数数据库管理系统中,tinyint是一个整数数据类型,通常占用1个字节(8位)。它的取值范围通常是从-128到127,或者从0到255,具体取决于数据库管理系统的实现。有些数据库管理系统也可以将tinyint定义为无符号整数,取值范围
2023-08-09

django怎么获取post数据

在Django中,可以通过request对象的POST属性来获取POST数据。具体步骤如下:1. 在视图函数中引入request模块:`from django.http import request`。2. 在视图函数中获取POST数据:`
2023-10-11

django操作多数据库

1、    添加数据库路由分配文件在项目文件夹里创建‘database_router’文件。将下面的代码复制到该文件里。from django.conf import settings DATABASE_MAPPING = settings
2023-01-30

django如何获取sqlite数据

在Django中获取SQLite数据通常需要通过models和queryset来实现。首先,您需要定义一个模型(Model)来表示数据库中的表,然后使用查询集(QuerySet)来获取和操作这些数据。以下是一个简单的示例:定义一个模型(M
django如何获取sqlite数据
2024-04-10

Django ORM (一) 创建数据库

创建一个 Django 项目及应用django-admin startproject ormcd ormpython manage.py startapp app01在 models.py 上创建数据库结构from django.db im
2023-01-31

Django如何获取前端数据

这篇文章主要介绍“Django如何获取前端数据”,在日常操作中,相信很多人在Django如何获取前端数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Django如何获取前端数据”的疑惑有所帮助!接下来,请跟
2023-07-05

django的数据库配置-13

数据库配置打开mysite下的settings.py文件DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME':
2023-01-30

asp怎么读取数据库给下拉框赋值

要使用ASP来读取数据库并将其值赋给下拉框,需要执行以下步骤:1. 创建一个连接字符串,用于连接数据库。例如:```Dim connStrconnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data So
2023-09-26

php如何查询数据库并截取字段值

本篇内容介绍了“php如何查询数据库并截取字段值”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、连接数据库在PHP中,首先需要连接数据库才
2023-07-05

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录