Django中多表查询思路

需求:

  1、有一张文章表和一张评论表

  2、两张表的关系是一对多

  3、规则:若是有新评论,则将对应的文章置顶,若是有新文章则将新文章置顶。

思路:

  在文章表中增加一个最后评论时间的字段。然后采用分组排序,即可解决

预留:

  Django中除了有外键对应关系表外,如何将多张表联合查询?

时间: 2024-11-08 21:39:08

Django中多表查询思路的相关文章

Django中的数据库查询

web应用需要经常向数据库查询相关的数据,Django语言也不例外.了解Django中的数据查询操作,对于优化应用的性能,有着重要的意义. 基础信息 Django中,model通过Manager获取QuerySet,每个model至少有objects这个 Manager . QuerySet 可以有一个或多个 filter , filter 根据传入的参数返回 QuerySet 结果. 用SQL来对比, QuerySet 相当于 SELECT , filter 相当于 WHERE 或者是 LIM

Django开发之路 二(django的models表查询)

django的models表查询 一.单表查询 (1) all(): 查询所有结果 # 返回的QuerySet类型 (2) filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 #返回的QuerySet类型 (3) get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个, #返回的models对象 如果符合筛选条件的对象超过一个或者没有都会抛出错误. (4) exclude(**kwargs): 它包含了与所给筛选条件不匹配的对象 #返回的Query

Django 之多表查询 与多表的使用

1.django的多表查询 主要区分为: 正向查询    逆向查询 1. 多表查询: 是一个复杂的查询,他分为对象查询和__模糊查询两种方式 2. 多表查询: 又分为 一对一查询, 一对多查询, 多对多查询 三种方式 3. 多表查询: 分为正向查询 与 逆向查询, 正向查询 是根据 这个表中的外键属性名开始出发查询的跨表查询 逆向查询 是根据 根据关联表的 类名 小写 开始 进行跨表查询 4. 多表查询: 外键的存放位置如下: # 一对多:出版社(一) 书籍(多,外键在多的一方,依赖于出版社)

Django的ORM表查询

目录 Django的ORM表查询 单表查询 多表查询 聚合查询 分组查询 F与Q查询 Django的ORM表查询 先创建一个数据库,做前期准备 为了方便测试,不再进行urls对应关系和views的书写,直接测试的单个文件 那么如何只单独测试Django中的某个py文件,有以下方法 在任意一个py文件中书写以下代码 可以在应用app的目录下的tests.py中书写 也可以自己建立一个py文件书写 import os if __name__ == "__main__": os.enviro

【Django】Django中的模糊查询以及Q对象的简单使用

Django中的模糊查询: 需要做一个查找的功能,所以需要使用到模糊查询. 使用方法是:字段名加上双下划线跟上contains或者icontains,icontains和contains表示是否区分大小写. 实测icontains为不区分大小写,contains为区分大小写. from djangp.db.models import Q def select_seller(request,keyword): seller_info= Seller.objects.filter(Q(usernam

django orm 关联表查询

django orm 关联表数据,即sql的多表查询 例如两个表: Apply表中定义了字段position为foreignkey指向job表的id字段, 1.通过job表查找子表apply的字段信息: job.objects.values( 'id', 'job_type', 'apply__date_created') 连接符为小写的子表tablename+双下线+子表字段名即:apply__date_created 表示寻找Apply表中的date_created字段 等价于后台的SQL:

Django之跨表查询及添加记录

一:创建表 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many);     一本书只应该由一个出版商出版,所以出版商和书籍是一对多关联关系(one-to-many). 创建一对一的关系:OneToOne("要绑定关系的表名") 创建一对多的关系:ForeignKey("要绑定关系的表名") 创建多对多的关系:ManyToMany("要绑定关系的表名"

Django中Form表单之字段详解

Django中的Form表单 1.背景 平时我们在书写form表单时,经常都是手动的去写一些input标签,让用户输入一些功能,进行一些校验的判断,等等.Django中的form表单就能够帮我们去实现这些功能,比较便捷. 2.Django form表单的功能 1.生成页面可执行的HTML标签 2.对应户的数据进行校验 3.保留上次输入的内容 3.先用普通方式手写一个注册功能 1.views.py文件中 # 注册 def register(request): error_msg = ""

ssh中多表查询及Path expected for join的异常处理

1.ssh介绍 在ssh中我们通常会将其分为pojo,dao,daoimpl,service,serviceimpl和action层,当然还包括xml配置文件及pd.properties文件.在近期做的项目中通过ssh框架搭建了后台框架以及功能的实现,发现ssh中主要需要注意对xml映射方面进行多加注意. 2.查询内容 本次用到的查询是多表查询,如shift和station的实体类存在多表查询的内容 2.1 多表的内容 在查询内容是主要涉及station和shift表中存在多对一的关系,同时需要