Django如何创建表关系,Django的请求声明周期流程图

【1】表与表之间的关系

一对一
  • 左表的一条记录对应右表的一条记录,反之亦然
多对一
  • 左表的一条记录对应右表的多条记录,反之不成立
多对多
  • 左表的一条记录对应右表的多表记录,反之成立

【2】django中创建表关系

python 复制代码
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)

上面的代码是Django1.x版本的写法。Django2.x的版本有些许不同,需要在添加外键的时候手动加上级联删除(on_delete=models.CASCADE)

【3】Django的请求声明周期流程图

Django的请求生命周期流程图可以帮助我妈们熟练django的一个完整执行流程

相关推荐
麦壳饼12 小时前
SonnetDB:PID 调参实战:阶跃响应分析与参数解读
数据库·sonnetdb
猿究院--Cu-Sn合金13 小时前
Spring Boot + DeepSeek 求职 Agent 实践:工具注册、多轮调用与简历 JD 对比
数据库·人工智能·spring boot·后端·deepseek
IvorySQL13 小时前
PostgreSQL 日报|Anonymizer 3.3 修复高危漏洞(10 月 29 日)
数据库·postgresql
小咕聊编程13 小时前
基于Django的个人摄影博客网站设计与开发
后端·python·django
geovindu13 小时前
SQL Data Sampling and Approximation Techniques using postgreSQL 18
大数据·数据库·数据仓库·sql·postgresql·数据库开发·数据库架构
zyseo813 小时前
谷歌SEO 关键词研究完整方法论:从种子词到优先级矩阵
数据库·人工智能·矩阵
PaperData13 小时前
2000-2025年上市公司绿色金融改革创新试验区政策试点DID
数据库
Championship.23.2413 小时前
Linux 内存管理深度解析与实战指南(基于 Linux 5.10+)
数据库
迪康coolmu13 小时前
金融客户数据合规落地:基于迪康端点安全一体化管理系统的四道防线实践
运维·服务器·数据库·经验分享·安全·网络安全·金融
郭小李13 小时前
转发与重定向
java·服务器·数据库