CN112463836A - 基于Django框架的数据查询方法、装置、计算机设备和介质 - Google Patents
基于Django框架的数据查询方法、装置、计算机设备和介质 Download PDFInfo
- Publication number
- CN112463836A CN112463836A CN202011478569.0A CN202011478569A CN112463836A CN 112463836 A CN112463836 A CN 112463836A CN 202011478569 A CN202011478569 A CN 202011478569A CN 112463836 A CN112463836 A CN 112463836A
- Authority
- CN
- China
- Prior art keywords
- data
- query
- model
- parameters
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 135
- 238000004590 computer program Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 22
- 230000010354 integration Effects 0.000 claims description 10
- 238000000926 separation method Methods 0.000 claims description 5
- 238000011161 development Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及计算机技术领域,具体涉及一种基于Django框架的数据查询方法、装置、计算机设备和存储介质。该方法包括:获取用户端通过调用通用数据查询接口而发送的数据查询请求数据;根据数据查询请求数据获得模型指定参数、模型方法指定参数、查询数据指定信息;根据模型指定参数生成目标model对象;将查询数据指定信息作为参数传给目标model对象的与模型方法指定参数对应的模型方法,以获取与查询数据指定信息对应的数据。本发明实施例不需要开发人员再为新建的数据表开发相应的数据查询接口,能够减少开发成本和降低接口管理难度。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种基于Django框架的数据查询方法、装置、计算机设备和存储介质。
背景技术
网络服务器可以为前端的用户设备(或称为用户端)提供各种服务,比如网络服务器中可以建立多个数据表,并为用户设备提供用于执行相应操作(如数据查询、数据更新等操作)的接口,用户设备可以通过相应的接口与网络服务器进行交互以实现相应的目的,如从相应的数据表中获取数据、或者更新某数据表中的数据等。
目前,当开发人员在网络服务器新建数据表后,还需要为该新建的数据表再开发一个用于查询(或称为获取)该新建数据表中的数据的数据查询接口,从而用户设备可以通过该数据查询接口对该新建数据表的数据进行查询。然而,随着新建的数据表的数量越来越多,为每个新建的数据表开发数据查询接口会消耗较多的开发成本,并且数据查询接口的数量也会越来越多,这增大了数据查询接口的管理难度。
发明内容
本发明针对现有技术的缺点,提供了一种基于Django框架的数据查询方法、装置、计算机设备和存储介质,本发明实施例不需要开发人员为新建的数据表开发相应的数据查询接口,能够减少开发成本和降低接口管理难度。
本发明根据第一方面提供了一种基于Django框架的数据查询方法,在一个实施例中,该方法包括:
获取用户端通过调用通用数据查询接口而发送的数据查询请求数据;
根据数据查询请求数据获得模型指定参数、模型方法指定参数和查询数据指定信息;
根据模型指定参数生成目标model对象;
将查询数据指定信息作为参数传给目标model对象的与模型方法指定参数对应的模型方法,以获取与查询数据指定信息对应的数据。
在一个实施例中,根据数据查询请求数据获得模型指定参数、模型方法指定参数和查询数据指定信息的步骤,包括:
对请求数据进行格式整合处理,从处理后的请求数据中分离得到模型指定参数、模型方法指定参数和查询数据指定信息。
在一个实施例中,该方法还包括:
从处理后的请求数据中分离数据时,若确定分离得到的数据中没有查询数据指定信息,则获取模型指定参数对应的数据表的主键信息,将主键信息作为查询数据指定信息。
在一个实施例中,根据模型指定参数生成目标model对象的步骤,包括:
获取与模型指定参数对应的model类信息;
根据model类信息生成目标model对象。
在一个实施例中,将查询数据指定信息作为参数传给目标model对象的与模型方法指定参数对应的模型方法,以获取与查询数据指定信息对应的数据的步骤,包括:
将查询数据指定信息作为参数传给目标model对象的与模型方法指定参数对应的模型方法,以从目标model对象对应的数据表中获取与查询数据指定信息对应的数据。
在一个实施例中,模型指定参数为model名称;模型方法指定参数为要调用的模型方法的方法名称;查询数据指定信息为用于确定查询数据的键值对。
在一个实施例中,该方法还包括:根据获取到的与查询数据指定信息对应的数据生成展示信息并将展示信息发送给用户端。
本发明根据第二方面提供了一种基于Django框架的数据查询装置,在一个实施例中,该装置包括:
请求数据获取模块,用于获取用户端通过调用通用数据查询接口而发送的数据查询请求数据;
数据内容获得模块,用于根据数据查询请求数据获得模型指定参数、模型方法指定参数和查询数据指定信息;
对象生成模块,用于根据模型指定参数生成目标model对象;
数据获取模块,用于将查询数据指定信息作为参数传给目标model对象的与模型方法指定参数对应的模型方法,以获取与查询数据指定信息对应的数据。
本发明根据第三方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一方法的实施例的步骤。
本发明根据第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一方法的实施例的步骤。
在本发明实施例中,通过网络服务器获取用户端通过调用通用数据查询接口而发送的数据查询请求数据,根据数据查询请求数据获得模型指定参数、模型方法指定参数和查询数据指定信息,根据模型指定参数生成目标model对象,并调用目标model对象的与模型方法指定参数对应的模型方法,即将查询数据指定信息作为参数传给该模型方法,以获取与查询数据指定信息对应的数据,本发明实施例中的网络服务器为用户端提供了通用的数据查询接口,并通过用户端上传的模型指定参数来生成相应的model对象,之后通过调用该model对象的数据查询方法即可实现从相应数据表中获取与查询数据指定信息对应的相关数据,从而开发人员不需要再为新建的数据表开发相应的数据查询接口,能够减少开发成本和降低接口管理难度。
附图说明
图1为一个实施例中一种基于Django框架的数据查询方法的应用环境图;
图2为一个实施例中一种基于Django框架的数据查询方法的流程示意图;
图3为一个实施例中一种基于Django框架的数据查询装置的结构框图;
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本发明提供了一种基于Django框架的数据查询方法,该方法可以应用在网络服务器(或称为Web服务器)中,其中,网络服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,可以基于Django框架来开发网络服务器,其中,Django框架是Python(一种跨平台的计算机程序设计语言)的一款WEB框架。Django框架也是个MVC框架,MVC指设计模式,也就是把应用程序分解成三个组成部分:Model(模型),View(视图),和Controller(控制器)。
Model(模型)即数据存取层,负责业务对象与数据库的映射,模型是唯一、权威的信息来源,包含了所存储数据的必要字段和行为,Django框架会根据模型在数据库中创建数据表,通常一个模型对应数据库中唯一的一张数据表。
视图(View)即业务逻辑层,负责把数据格式化后呈现给用户。
Controller(控制器)接受外部用户的操作,根据操作访问“模型”来获取相关的数据,并调用“视图”以向用户显示这些数据。“控制器”将“模型”和“视图”隔离开来,并成为二者之间的联系纽带。
而在本发明实施例中,基于Django框架开发网络服务器时,在Django框架提供的Model(模型)、视图(View)和Controller(控制器)的基础上,进一步开发了API综合处理层,并调整了各层之间的交互关系。
示例性地,基于Django框架开发的该网络服务器中可以包括控制器模块(用于实现Controller)、模型模块(用于实现Model)、API综合处理模块和视图模块(用于实现View)等模块,该网络服务器中的各个模块之间交互关系可以参见图1所示的网络服务器。具体地,本实施例的网络服务器可以通过模型模块来处理与数据相关的所有事务(比如,如何存取数据、如何验证数据的有效性、包含哪些行为以及数据之间的关系等);通过控制器模块来接受外部用户的操作,如接收用户端的数据查询请求,用户端可以是但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和台式计算机等;控制器模块在接收到用户端的数据查询请求后,根据该请求携带的数据来调用由API综合处理模块提供的用于处理数据查询请求的API(Application Programming Interface,应用程序编程接口)来处理该数据查询请求;API综合处理模块可以提供多个API,不同的API用于处理用户端的不同请求(比如可以是数据修改请求、数据查询请求或数据存储请求等),当用于处理数据查询请求的API被控制器模块调用之后,则响应于该调用与数据库进行交互,以查询到用户要查询的数据(该数据可以通过数据查询请求中的相关参数来确定出来),并将查询到的数据发送给视图模块;视图模块会根据该查询到的数据生成展示信息,以及将其发送给用户端以将该查询到的数据可视化地呈现给用户。
在一个实施例中,本发明提供的基于Django框架的数据查询方法所包括的步骤可以如图2所示。以下结合图1对图2所示的步骤进行说明。该方法包括以下步骤:
S110:获取用户端通过调用通用数据查询接口而发送的数据查询请求数据。
在本实施例中,网络服务器向用户端提供了通用的数据查询接口,不管用户想查询网络服务器中的哪张数据表的数据,都可以通过该通用的数据查询接口来向网络服务器发送数据查询请求,不需要向以往一样需要专门调用想要查询的数据所在的数据表对应的接口。
网络服务器可通过post、get和/或body等方式来获得用户端发送的数据查询请求数据。用户端可以按照该数据查询接口的API规范来组装数据,之后基于组装的数据来调用数据查询接口,从而向网络服务器发送数据查询请求,组装好的数据可以由该数据查询请求携带。
S120:根据数据查询请求数据获得模型指定参数、模型方法指定参数和查询数据指定信息。
在本实施例中,数据查询请求数据是指数据查询请求携带的数据,其包括多个字段对应的数据,当然,在不同应用场景中,数据查询请求数据包括的字段可以不同。网络服务器获取到数据查询请求携带的数据查询请求数据后,需要对其进行格式整理以从中分离出各个字段对应的数据。
具体地,数据查询请求数据包括模型指定参数、模型方法指定参数和查询数据指定信息等数据,其中,模型指定参数为model名称,模型方法指定参数为要调用的用于实现数据查询的模型方法的方法名称,查询数据指定信息为用于确定查询数据的键值对。
示例性地,在一个应用场景中,数据查询请求数据可以是如下所示:
"method":"select","modelname":"autotest_logsystem","prikey":"task_id:123,testcase_id:321"
该数据查询请求数据中所包括的字段有"method"、"modelname"、和"prikey",对该数据查询请求数据进行格式整理之后,可以得到"method"字段的字段信息(或称为字段值)为"select"(即模型方法指定参数),"modelname"字段的字段信息为"autotest_logsystem"(即模型指定参数),"prikey"字段的字段信息为"task_id:123,testcase_id:321"(即查询数据指定信息),进而网络服务器能够将从“autotest_logsystem”对应的数据表中获取与"task_id:123,testcase_id:321"对应的数据。
需要说明的是,上述数据查询请求数据仅仅作为示例,数据查询请求数据的数据拼装规范本实施例并不进行限定,其拼装规范可以根据不同的应用场景来具体设置。
在一个实施方式中,根据数据查询请求数据获得模型指定参数、模型方法指定参数和查询数据指定信息的步骤,包括:
对请求数据进行格式整合处理,从处理后的请求数据中分离得到模型指定参数、模型方法指定参数和查询数据指定信息。
其中,从处理后的请求数据中分离数据时,若确定分离得到的数据中没有查询数据指定信息,则获取模型指定参数对应的数据表的主键信息,将主键信息作为查询数据指定信息。
S130:根据模型指定参数生成目标model对象。
Django框架对各种数据库提供了很好的支持,包括PostgreSQL、MySQL、SQLite、Oracle等数据库,其为这些数据库提供了统一的调用API,可以根据具体的业务需求来选择不同的数据库。
在本实施例中,网络服务器可以通过模型模块的对象关系映射(即ORM,ObjectRelational Mapping)从数据库(数据库可以部署于网络服务器上,也可以部署在其他服务器)中获取相关数据。具体地,数据库中的每张数据表对应一个model类,model类中配有用于实现不同操作(如修改数据、删除数据、更新数据等等)的模型方法。
Python是面向对象的编程语言,使用其编写的面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分。在面向对象程序设计(OOP)中,不必关心对象的具体实现。类是构造对象的模板和蓝图,可以说类相当于建筑的图纸,而对象相当于建筑物,由类构造对象的过程称为创建对象的实例。因此,本实施例在根据所述模型指定参数生成目标model对象时,先获取与模型指定参数对应的model类信息,model类信息是指model类的类代码,然后基于该model类的类代码来生成该model类的对象,即目标model对象。
S140:将查询数据指定信息作为参数传给目标model对象的与模型方法指定参数对应的模型方法,以获取与查询数据指定信息对应的数据。
在本实施例中,具体地,将查询数据指定信息作为参数传给目标model对象的与模型方法指定参数对应的模型方法,以获取与查询数据指定信息对应的数据的步骤,包括:
将查询数据指定信息作为参数传给目标model对象的与模型方法指定参数对应的模型方法,以从目标model对象对应的数据表中获取与查询数据指定信息对应的数据。
本发明实施例通过网络服务器来获取用户端通过调用通用数据查询接口而发送的数据查询请求数据,然后根据数据查询请求数据获得模型指定参数、模型方法指定参数和查询数据指定信息,根据模型指定参数生成目标model对象,并调用目标model对象的与模型方法指定参数对应的模型方法,即将查询数据指定信息作为参数传给该模型方法,以获取查询数据指定信息对应的数据,由于网络服务器为用户端提供了通用的数据查询接口,并通过用户端上传的模型指定参数来生成相应的model对象,之后通过调用该model对象的数据查询方法即可实现从相应数据表中获取到与该查询数据指定信息对应的相关数据,从而开发人员不需要再为新建的数据表开发相应的数据查询接口,能够减少开发成本和降低接口管理难度。
进一步地,在一个实施例中,该基于Django框架的数据查询方法还包括:根据获取到的与查询数据指定信息对应的数据生成展示信息并将展示信息发送给用户端。
在一个更具体的实施例中,网络服务器可以通过API综合处理模块根据控制器模块接收到的数据查询请求所携带的数据查询请求数据获得模型指定参数、模型方法指定参数和查询数据指定信息,然后根据模型指定参数从模型模块获取目标model对象,再将查询数据指定信息作为参数传给目标model对象的与模型方法指定参数对应的模型方法,以指示模型模块获取与查询数据指定信息对应的数据。
其中,在通过API综合处理模块根据请求数据获得模型指定参数、模型方法指定参数和查询数据指定信息时,可以通过API综合处理模块对请求数据进行格式整合处理,从处理后的请求数据中分离得到模型指定参数、模型方法指定参数和查询数据指定信息。具体地,在通过API综合处理模块从处理后的请求数据中分离数据时,若确定分离得到的数据中没有待处理数据指定信息,则获取模型指定参数对应的数据表的主键信息,并将该主键信息作为查询数据指定信息。
进一步地,通过API综合处理模块根据请求数据获得模型指定参数、模型方法指定参数和查询数据指定信息的步骤之前,可以通过控制器模块接收来自用户端的数据查询请求,将数据查询请求携带的请求数据发送API综合处理模块。
进一步地,更进一步地,网络服务器在通过API综合处理模块指示模型模块获取与查询数据指定信息对应的数据之后,还可以通过API综合处理模块获取模型模块返回的与查询数据指定信息对应的数据,然后将该数据发送给视图模块,以使视图模块根据该数据生成展示信息并将展示信息发送给用户端。
基于相同的发明构思,本发明还提供了一种基于Django框架的数据查询装置。在一个实施例中,如图3所示,该基于Django框架的数据查询装置包括以下模块:
请求数据获取模块110,用于获取用户端通过调用通用数据查询接口而发送的数据查询请求数据;
数据内容获得模块120,用于根据数据查询请求数据获得模型指定参数、模型方法指定参数和查询数据指定信息;
对象生成模块130,用于根据模型指定参数生成目标model对象;
数据查询模块140,用于将查询数据指定信息作为参数传给目标model对象的与模型方法指定参数对应的模型方法,以获取与查询数据指定信息对应的数据。
在一个实施例中,数据内容获得模块包括格式整合子模块。
格式整合子模块,用于对数据查询请求数据进行格式整合处理,从处理后的请求数据中分离得到模型指定参数、模型方法指定参数和查询数据指定信息。
在一个实施例中,格式整合子模块,还用于在从处理后的请求数据中分离数据时,若确定分离得到的数据中没有查询数据指定信息,则获取模型指定参数对应的数据表的主键信息,将主键信息作为查询数据指定信息。
在一个实施例中,数据查询模块,还用于将查询数据指定信息作为参数传给目标model对象的与模型方法指定参数对应的模型方法,以从目标model对象对应的数据表中获取与查询数据指定信息对应的数据。
在一个实施例中,模型指定参数为model名称;模型方法指定参数为要调用的模型方法的方法名称;查询数据指定信息为用于确定查询数据的键值对。
在一个实施例中,该基于Django框架的数据查询装置还包括展示模块。该展示模块,用于根据获取到的与查询数据指定信息对应的数据生成展示信息并将展示信息发送给用户端。
关于基于Django框架的数据查询装置的具体限定可以参见上文中对于基于Django框架的数据查询方法的限定,在此不再赘述。上述基于Django框架的数据查询装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据查询请求数据等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于Django框架的数据查询方法。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取用户端通过调用通用数据查询接口而发送的数据查询请求数据;根据数据查询请求数据获得模型指定参数、模型方法指定参数和查询数据指定信息;根据模型指定参数生成目标model对象;将查询数据指定信息作为参数传给目标model对象的与模型方法指定参数对应的模型方法,以获取与查询数据指定信息对应的数据。
在一个实施例中,处理器执行计算机程序,实现根据数据查询请求数据获得模型指定参数、模型方法指定参数和查询数据指定信息时,还实现以下步骤:
对数据查询请求数据进行格式整合处理,从处理后的请求数据中分离得到模型指定参数、模型方法指定参数和查询数据指定信息。
在一个实施例中,处理器执行计算机程序,还实现以下步骤:
从处理后的请求数据中分离数据时,若确定分离得到的数据中没有查询数据指定信息,则获取模型指定参数对应的数据表的主键信息,将主键信息作为查询数据指定信息。
在一个实施例中,处理器执行计算机程序,实现将查询数据指定信息作为参数传给目标model对象的与模型方法指定参数对应的模型方法,以获取与查询数据指定信息对应的数据时,还实现以下步骤:
将查询数据指定信息作为参数传给目标model对象的与模型方法指定参数对应的模型方法,以从目标model对象对应的数据表中获取与查询数据指定信息对应的数据。
在一个实施例中,处理器执行计算机程序,实现根据模型指定参数生成目标model对象时,还实现以下步骤:
获取与模型指定参数对应的model类信息;根据model类信息生成目标model对象。
在一个实施例中,模型指定参数为model名称;模型方法指定参数为要调用的模型方法的方法名称;查询数据指定信息为用于确定查询数据的键值对。处理器执行计算机程序时,还实现以下步骤:
根据获取到的与查询数据指定信息对应的数据生成展示信息并将展示信息发送给用户端。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取用户端通过调用通用数据查询接口而发送的数据查询请求数据;根据数据查询请求数据获得模型指定参数、模型方法指定参数和查询数据指定信息;根据模型指定参数生成目标model对象;将待处理数据指定信息和替换内容作为参数传给目标model对象的与模型方法指定参数对应的模型方法,以获取与查询数据指定信息对应的数据。
在一个实施例中,计算机程序被处理器执行,根据数据查询请求数据获得模型指定参数、模型方法指定参数和查询数据指定信息时,还实现以下步骤:
对数据查询请求数据进行格式整合处理,从处理后的请求数据中分离得到模型指定参数、模型方法指定参数和查询数据指定信息。
在一个实施例中,计算机程序被处理器执行,还实现以下步骤:
从处理后的请求数据中分离数据时,若确定分离得到的数据中没有查询数据指定信息,则获取模型指定参数对应的数据表的主键信息,将主键信息作为查询数据指定信息。
在一个实施例中,计算机程序被处理器执行,将查询数据指定信息作为参数传给目标model对象的与模型方法指定参数对应的模型方法,以获取与查询数据指定信息对应的数据时,还实现以下步骤:
将查询数据指定信息作为参数传给目标model对象的与模型方法指定参数对应的模型方法,以从目标model对象对应的数据表中获取与查询数据指定信息对应的数据。
在一个实施例中,计算机程序被处理器执行,根据模型指定参数生成目标model对象时,还实现以下步骤:
获取与模型指定参数对应的model类信息;根据model类信息生成目标model对象。
在一个实施例中,模型指定参数为model名称;模型方法指定参数为要调用的模型方法的方法名称;查询数据指定信息为用于确定查询数据的键值对。计算机程序被处理器执行,还实现以下步骤:
根据获取到的与查询数据指定信息对应的数据生成展示信息并将展示信息发送给用户端。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于Django框架的数据查询方法,其特征在于,所述方法包括:
获取用户端通过调用通用数据查询接口而发送的数据查询请求数据;
根据所述数据查询请求数据获得模型指定参数、模型方法指定参数和查询数据指定信息;
根据所述模型指定参数生成目标model对象;
将所述查询数据指定信息作为参数传给所述目标model对象的与所述模型方法指定参数对应的模型方法,以获取与所述查询数据指定信息对应的数据。
2.如权利要求1所述的基于Django框架的数据查询方法,其特征在于,根据所述数据查询请求数据获得模型指定参数、模型方法指定参数和查询数据指定信息的步骤,包括:
对所述请求数据进行格式整合处理,从处理后的请求数据中分离得到模型指定参数、模型方法指定参数和查询数据指定信息。
3.如权利要求2所述的基于Django框架的数据查询方法,其特征在于,所述方法还包括:
从处理后的请求数据中分离数据时,若确定分离得到的数据中没有查询数据指定信息,则获取所述模型指定参数对应的数据表的主键信息,将所述主键信息作为查询数据指定信息。
4.如权利要求1所述的基于Django框架的数据查询方法,其特征在于,所述根据所述模型指定参数生成目标model对象的步骤,包括:
获取与所述模型指定参数对应的model类信息;
根据所述model类信息生成目标model对象。
5.如权利要求1所述的基于Django框架的数据查询方法,其特征在于,所述将所述查询数据指定信息作为参数传给所述目标model对象的与所述模型方法指定参数对应的模型方法,以获取与所述查询数据指定信息对应的数据的步骤,包括:
将所述查询数据指定信息作为参数传给所述目标model对象的与所述模型方法指定参数对应的模型方法,以从所述目标model对象对应的数据表中获取与所述查询数据指定信息对应的数据。
6.如权利要求1所述的基于Django框架的数据查询方法,其特征在于,所述模型指定参数为model名称;所述模型方法指定参数为要调用的模型方法的方法名称;所述查询数据指定信息为用于确定查询数据的键值对。
7.如权利要求1所述的基于Django框架的数据查询方法,其特征在于,所述方法还包括:根据获取到的与所述查询数据指定信息对应的数据生成展示信息并将所述展示信息发送给所述用户端。
8.一种基于Django框架的数据查询装置,其特征在于,所述装置包括:
请求数据获取模块,用于获取用户端通过调用通用数据查询接口而发送的数据查询请求数据;
数据内容获得模块,用于根据所述数据查询请求数据获得模型指定参数、模型方法指定参数和查询数据指定信息;
对象生成模块,用于根据所述模型指定参数生成目标model对象;
数据获取模块,用于将所述查询数据指定信息作为参数传给所述目标model对象的与所述模型方法指定参数对应的模型方法,以获取与所述查询数据指定信息对应的数据。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011478569.0A CN112463836A (zh) | 2020-12-15 | 2020-12-15 | 基于Django框架的数据查询方法、装置、计算机设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011478569.0A CN112463836A (zh) | 2020-12-15 | 2020-12-15 | 基于Django框架的数据查询方法、装置、计算机设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112463836A true CN112463836A (zh) | 2021-03-09 |
Family
ID=74804254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011478569.0A Pending CN112463836A (zh) | 2020-12-15 | 2020-12-15 | 基于Django框架的数据查询方法、装置、计算机设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112463836A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023029752A1 (zh) * | 2021-08-31 | 2023-03-09 | 深圳市兆珑科技有限公司 | 数据查询方法、装置、服务器及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598513A (zh) * | 2014-11-03 | 2015-05-06 | 腾讯科技(成都)有限公司 | 一种基于网页框架的数据流控制方法和系统 |
CN110764998A (zh) * | 2019-09-06 | 2020-02-07 | 平安健康保险股份有限公司 | 基于Django框架的数据比对方法、装置、设备及存储介质 |
CN111444235A (zh) * | 2020-02-26 | 2020-07-24 | 中国平安人寿保险股份有限公司 | 基于Django的数据序列化方法、装置、计算机设备及存储介质 |
-
2020
- 2020-12-15 CN CN202011478569.0A patent/CN112463836A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598513A (zh) * | 2014-11-03 | 2015-05-06 | 腾讯科技(成都)有限公司 | 一种基于网页框架的数据流控制方法和系统 |
CN110764998A (zh) * | 2019-09-06 | 2020-02-07 | 平安健康保险股份有限公司 | 基于Django框架的数据比对方法、装置、设备及存储介质 |
CN111444235A (zh) * | 2020-02-26 | 2020-07-24 | 中国平安人寿保险股份有限公司 | 基于Django的数据序列化方法、装置、计算机设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023029752A1 (zh) * | 2021-08-31 | 2023-03-09 | 深圳市兆珑科技有限公司 | 数据查询方法、装置、服务器及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109460527B (zh) | 产品数据配置方法、装置、计算机设备和存储介质 | |
CN111309785B (zh) | 基于Spring框架的数据库访问方法、装置、计算机设备和介质 | |
CN111143462A (zh) | 数据导出的方法、装置、计算机设备和存储介质 | |
WO2020199594A1 (zh) | 业务组件加载方法、装置、计算机设备和存储介质 | |
CN110633160A (zh) | 接口调用方法、装置、计算机设备和存储介质 | |
CN109361628B (zh) | 报文组装方法、装置、计算机设备和存储介质 | |
CN114531477B (zh) | 功能组件的配置方法、装置、计算机设备和存储介质 | |
CN112068818A (zh) | 业务交互方法、装置、计算机设备及存储介质 | |
CN111949314A (zh) | 应用安装包的生成方法、装置、服务器和存储介质 | |
CN112100078A (zh) | 一种生成接口测试用例的方法、装置及设备 | |
CN112231379A (zh) | 基于微服务架构的api审计方法、装置、设备及存储介质 | |
CN112463836A (zh) | 基于Django框架的数据查询方法、装置、计算机设备和介质 | |
CN114003432A (zh) | 参数校验方法、装置、计算机设备和存储介质 | |
CN111159025B (zh) | 应用程序接口测试方法、装置、计算机设备和存储介质 | |
CN113642021A (zh) | 一种业务代码提交方法、处理方法、装置及电子设备 | |
CN112069223A (zh) | 数据获取需求处理方法、装置、计算机设备和存储介质 | |
CN112463811A (zh) | 基于Django框架的数据修改方法、装置、计算机设备和介质 | |
CN112463802A (zh) | 基于Django框架的数据存储方法、装置、计算机设备和介质 | |
US20190080062A1 (en) | Client call validity enforcement for microservices | |
CN115374083A (zh) | 数据源的切换方法、装置、电子设备及存储介质 | |
CN112637085B (zh) | 流量录制方法、装置、计算机设备和存储介质 | |
CN111339170A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN115202907A (zh) | 一种应用程序接口的运行方法、系统、计算机设备及介质 | |
CN112486999A (zh) | 基于Django框架的数据统计方法、装置、计算机设备和介质 | |
CN114003486A (zh) | 一种插件调试方法、客户端、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |