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的一个完整执行流程

相关推荐
念越17 小时前
初中语数英答题与竞赛平台
java·数据库·spring boot
落日归屿17 小时前
AI 商品图做完后,为什么还要管图层?
数据库
拾贰_C17 小时前
【English | conversation 】call | 抖音AI短句情景:打电话---come over
数据库·redis·缓存
2601_9628857217 小时前
AlphaFeed 支持哪些 K 线周期?period参数怎么传?
前端·数据库·python
麦壳饼18 小时前
架构深度解析:SonnetDB 的写入与查询路径
数据库·sonnetdb
gudufy18 小时前
ASP.NET Core 多租户如何动态创建数据库?数据库初始化怎么做?
数据库·blazor·admin
我的xiaodoujiao19 小时前
Django 基础知识详细图文教程 14-Django 表单定义与使用
开发语言·后端·python·django
Data-Miner19 小时前
离线AI制表:模型适配与脚本固化实操
大数据·数据库·人工智能·excel
xixiaoyunya20 小时前
数据库三种备份方式怎么组合?从原理到落地的完整方案
数据库
2501_9336707920 小时前
2027届数学与应用数学转经营分析:SQL、财务指标与业务指标补齐路线
数据库·sql·数学建模