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

编程入门 行业动态 更新时间:2024-10-21 17:23:23

Django如何创建表关系,Django的请求声明周期<a href=https://www.elefans.com/category/jswz/34/1768100.html style=流程图"/>

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

【1】表与表之间的关系

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

【2】django中创建表关系

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

更多推荐

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

本文发布于:2023-11-15 11:34:09,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1598896.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:流程图   周期   声明   关系   Django

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!