Django框架——外键和表关系

本文探讨了Django中外键的使用,包括如何定义外键以及外键删除操作,如CASCADE、PROTECT等策略。此外,详细阐述了一对多、一对一和多对多的表关系,举例说明了它们在文章、作者和标签等场景中的应用,并展示了相应的Django模型代码示例。
摘要由CSDN通过智能技术生成

前言

Django中如果要建立两张表之间的关系,通常要用到外键,而两个表之间的关系有一对一、一对多、多对多,今天就来谈谈外键和表的关系

一、外键

类定义为 class ForeignKey(to,on_delete,options)。第一个参数是引用的是哪个模型,第二个参数是在使用外键引用的模型数据被删除了,这个字段该如何处理,比如有CASCADESET_NULL等。这里以一个实际案例来说明。比如有一个User和一个Article两个模型。一个User可以发表多篇文章,一个Article只能有一个Author,并且通过外键进行引用。那么相关的示例代码如下:

class User(models.Model):
    username = models.CharField(max_length=20)
    password = models.CharField(max_length=100)


class Article(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()

    author = models.ForeignKey("User",on_delete=models.CASCADE)

以上使用ForeignKey来定义模型

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值