django创建表时怎么联表
时间: 2024-01-22 19:04:05 浏览: 76
django创建多对多表三种方法,和ORM操作增删改查
在 Django 中创建联表,需要使用外键来进行关联。外键是一种数据库约束,它可以定义一个表与另一个表之间的关系。
以下是一个简单的联表创建示例,假设我们有两个模型:一个是用户模型 User,一个是文章模型 Article,每个用户可以发布多篇文章。
```python
from django.db import models
class User(models.Model):
name = models.CharField(max_length=50)
email = models.EmailField()
class Article(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
author = models.ForeignKey(User, on_delete=models.CASCADE)
```
从上面的代码可以看出,Article 模型中有一个外键字段 author,它关联到 User 模型中的一个用户。在关联时,我们使用了 ForeignKey 类型来定义外键,它有两个参数:第一个参数是要关联的模型,第二个参数是 on_delete 参数,用于指定当关联的记录被删除时,该如何处理本表中的记录。
在这个示例中,当 User 模型中的记录被删除时,与之关联的 Article 模型中的记录也会被删除,这是通过 on_delete=models.CASCADE 参数来实现的。除了 CASCADE 之外,还有其他的选项,如 SET_NULL、SET_DEFAULT、PROTECT 等,可以根据实际情况选择合适的选项。
在创建联表后,我们可以通过查询来获取联表的数据,具体可以使用 Django ORM 提供的多表查询语句来实现。
阅读全文