Django中如何创建表关系,请求生命周期流程图

Django中ORM创建表关系

如何创建表关系(一对一 , 一对多 , 多对多)

图书表,出版社表,作者表,作者详情表

换位思考法判断表关系

图书表和出版社表 >>> 一对多 >>> 图书表是多,出版社是一 >>> 建在多的一方

图书表和作者表 >>> 多对多 >>> 需要第三张表

作者表和作者详情表 >>> 一对一 >>> 外键字段一般建在查询频率较高的

在models中创建几个图书类

class Book(models.Model):

    title = models.CharField(max_length=64)
    """
    max_digits=None,:总位数
    decimal_places=None:小数位数
    """
    # price decimal(8,2)

    price = models.DecimalField(max_digits=8, decimal_places=2)

    # publish_id = models.ForeignKey(to='Publish', to_field='id')

    """对于外键字段关系,会自动帮我们拼接_id"""
    publish = models.ForeignKey(to='Publish')

    """authors它是一个虚拟字段,它不会实际在表中创建出来这个字段,这一句可以自动帮助我们创建出来第三张表"""
    authors = models.ManyToManyField(to='Author')


"""出版社表"""
class Publish(models.Model):

    name = models.CharField(max_length=64)
    addr = models.CharField(max_length=64)



"""作者表"""
class Author(models.Model):

    name = models.CharField(max_length=64)
    author_detail = models.OneToOneField(to='AuthorDetail')



"""作者详情表"""
class AuthorDetail(models.Model):

    phone = models.CharField(max_length=64)
    email = models.CharField(max_length=64)

Django的请求生命周期流程图

以下是Django的请求生命周期流程图:

  1. 用户发送一个HTTP请求到Django服务器
  2. Django服务器找到对应的URL模式,并将请求转发给对应的视图函数
  3. 视图函数处理请求,可能会调用模型、查询数据库、生成响应等操作
  4. 视图函数返回响应给Django服务器
  5. Django服务器将响应返回给用户,页面渲染完成

注意:在整个请求生命周期中,Django还会经历中间件、模板引擎和静态文件处理等环节。

相关推荐
尘浮生18 分钟前
Java项目实战II基于微信小程序的电影院买票选座系统(开发文档+数据库+源码)
java·开发语言·数据库·微信小程序·小程序·maven·intellij-idea
六月闻君32 分钟前
MySQL 报错:1137 - Can‘t reopen table
数据库·mysql
SelectDB技术团队40 分钟前
兼顾高性能与低成本,浅析 Apache Doris 异步物化视图原理及典型场景
大数据·数据库·数据仓库·数据分析·doris
nuclear20111 小时前
使用Python 在Excel中创建和取消数据分组 - 详解
python·excel数据分组·创建excel分组·excel分类汇总·excel嵌套分组·excel大纲级别·取消excel分组
inventecsh1 小时前
mongodb基础操作
数据库·mongodb
白云如幻1 小时前
SQL99版链接查询语法
数据库·sql·mysql
Lucky小小吴1 小时前
有关django、python版本、sqlite3版本冲突问题
python·django·sqlite
爱吃烤鸡翅的酸菜鱼1 小时前
MySQL初学之旅(4)表的设计
数据库·sql·mysql·database
GIS 数据栈2 小时前
每日一书 《基于ArcGIS的Python编程秘笈》
开发语言·python·arcgis
爱分享的码瑞哥2 小时前
Python爬虫中的IP封禁问题及其解决方案
爬虫·python·tcp/ip