目录Django之多表查询一 创建模型1 模型创建2 外键关系建立问题二 添加表记录1 一对多添加记录2 多对多添加记录3 多对多关系常用的API三 基于对象的跨表查询1 两种跨表查询方式及正、反向查询2 一对多查询3 一对一查询4 多对多查询四 基于双下划线的跨表查询1 一对多查询2 多对多查询3 一对一查询4 进阶之连续跨表查询5 总结五 聚合查询与分组查询1 聚合查询2 分组查询3 多表查询            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-28 12:43:58
                            
                                229阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一对多的表查询class Project(models.Model):
    name = models.CharField(u'项目名称',max_length=32,blank=True)
    id = models.CharField(u'项目ID',max            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2017-03-14 10:45:47
                            
                                10000+阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1、一对一查询 models.OneToOneField(Entry) 两个实体类:Author , Wife 1、通过 Author 找 Wife author = Author.objects.get(id=1) wife = author.wife 2、通过 Wife 找 Author wif ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-10-26 15:22:00
                            
                                1269阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            class Book(models.Model):
    title=models.CharField(max_length=32)
 
    # 书籍与出版社: 一对多
    publisher=models.ForeignKey(to="Publish",to_field="id")  # 与这本书关联的出版社对象,因为是一对多的关系,所以,出版社对象只能有一个。
    # 书籍与作者            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-25 20:55:17
                            
                                134阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            django admin的使用1 后台管理,方便我们快速的录入书籍
2 使用方法:
    第一步:在admin.py 中把要使用的表注册
         from app01 import models
        admin.site.register(models.Book)
        admin.site.register(models.Author)
        admi            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-21 07:32:42
                            
                                60阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Django多表ORM设计规则1. 关联表之间建议建立外键,但是可以取消关联关系(db_constraint=False)
2. 关联表之间的晚间字段建议采用对应类名的全小写
3. 采用关联表的主键或对象均能进行操作
'''
    书籍: Book: id name price publish_date publish author(多对多关联字段)
    出版社: Publish:id n            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-23 21:20:33
                            
                                91阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Django MySQL 多表连接查询
## 简介
在使用 Django 开发 Web 应用程序时,经常需要进行数据库查询操作。而在某些情况下,我们可能需要查询多个表并将其结果进行连接。这种查询方式称为多表连接查询。
本文将介绍如何在 Django 中进行 MySQL 多表连接查询,并提供代码示例。
## 多表连接查询的概念
在关系数据库中,多表连接查询是通过多个表之间的关联关系,将            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-10-10 04:22:05
                            
                                251阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            字段关系外键类型在ORM中用来表示外键关联关系,一般把ForeignKey字段设置在 '一对多'中'多'的一方。ForeignKey可以和其他表做关联关系同时也可以和自身做关联关系。关键字意义to设置要关联的表to_field设置要关联的表的字段,默认不写关联的是主键on_delete当删除关联表中的数据时,当前表与其关联的行的行为。删除关联数据,与之关联也删除db_constraint是否在数据            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-20 09:44:35
                            
                                18阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            5.每个作者出版的所有书的最高价格以及最高价格的那本书的名称. 用django的模型类写不出来的,只能用原生sql写这题 关于第五题,mysql5.7及以上版本,使用下面的答案 set sql_mode='STRICT_TRANS__TABLES';#先将当前会话的sql_mode的only_ful            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-06-17 06:36:44
                            
                                105阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            为了完成我的个人博客 notewo.com ,
这两天需要用到left join来完成一些功能,查来查去,查到了这个方法:
https://docs.djangoproject.com/en/dev/topics/db/sql/
例子如下:
先看一下SQL语句:
select a.title,a.author_id,b.blog_id,c.blog_id,count(*) as coun            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2012-07-29 02:48:23
                            
                                10000+阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            (不喜勿喷,个人记录) 问题,有两张关联的表,表B的api_id关联表A的id            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-12-28 16:23:10
                            
                                699阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             MySQL连接的种类,JOIN左边(前边)的表是左边,右边(后边)的是右表逗号:做笛卡尔集连接INNER JOIN: 如果表中有至少一个匹配,则返回行LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行NATURAL  JOINNATURAL LEFT JOINNATURAL RIGHT JOINCROSS JO            
                
         
            
            
            
            文章目录一、多表关系二、一对一`2.1.创建模型关系``2.2.增删改查`增:查改删三、一对多`3.1.创建模型关系`3.1.1.设计三张表3.1.2.同步数据到数            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2022-06-28 18:18:39
                            
                                164阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            #1、查询所有的课程的名称以及对应的任课老师姓名
SELECT
course.cname,
teacher.tname
FROM
course
INNER JOIN teacher ON course.teacher_id=teacher.tid;#2、查询学生表中男女生各有多少人
SELECT
gender 性别,
count(1) 人数
FROM
student
GROUP BY
gender            
                
         
            
            
            
            from django.db import models# Create your models here.class UserInfo(models.Model):    user=models.CharField(max_length=32)    pawd=models.CharField(max_length=32)    user_type=models.Fo            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-08-01 17:46:43
                            
                                60阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            聚合查询(aggregate) 聚合查询函数是对一组值执行计算,并返回单个值。 Django 使用聚合查询前要先从 django.db.models 引入 Avg、Max、Min、Count、Sum(首字母大写)。 from django.db.models import Avg,Max,Min,C            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-10-08 12:01:44
                            
                                106阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前提:步骤参考:创建一个项目 app02(如果之前已创建过,忽略以下操作):D:\temp-test\djangodemo>django-admin startproject app02 接下来在 app02\app02\settings.py 中找到 INSTALLED_APPS 这一项,如下:INSTALLED_APPS = (
    'django.contrib.admi            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-10-08 12:02:55
                            
                                84阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            ORM的注意事项 nid = models.AutoField(primary_key=True) ID字段是自动添加的,需要自定义变量名可以自己填写. 对于外键字段,Django会在字段名上添加_id来创建数据库中的别名 外链字段Foreignkey有一个null=true的设置,它允许外链接受空 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-08-15 12:22:00
                            
                                289阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-07-12 16:58:00
                            
                                197阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            创建学生表和老师表 -- 创建学生表 CREATE TABLE students1107( id int not null auto_increment primary key, s_no varchar(50) not null, -- 学号 s_name varchar(50) not null ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-09-13 09:14:00
                            
                                168阅读
                            
                                                                                    
                                2评论