django 外键的增删改查
时间: 2023-09-18 08:14:29 浏览: 117
python Django连接MySQL数据库做增删改查
5星 · 资源好评率100%
Django 中外键的增删改查可以通过以下方式实现:
1. 增加外键:
假设有两个模型,一个是主模型 Book,另一个是外键模型 Author,表示每本书对应一个作者,可以通过在 Book 模型中定义外键来实现:
```python
from django.db import models
class Author(models.Model):
name = models.CharField(max_length=100)
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.ForeignKey(Author, on_delete=models.CASCADE)
```
在 Book 模型中定义了一个 author 外键,它指向 Author 模型,并且在删除 Author 实例时自动删除对应的 Book 实例。
2. 查询外键:
查询 Book 实例的作者可以通过以下方式进行:
```python
book = Book.objects.get(id=1)
author = book.author
```
这里的 book.author 会返回一个 Author 实例。
3. 修改外键:
修改 Book 实例的作者可以通过以下方式进行:
```python
book = Book.objects.get(id=1)
author = Author.objects.get(id=2)
book.author = author
book.save()
```
这里的 book.author = author 会将 book 的作者修改为 author 实例。
4. 删除外键:
删除 Book 实例的作者可以通过以下方式进行:
```python
book = Book.objects.get(id=1)
book.author.delete()
```
这里的 book.author.delete() 会将 book 的作者从 Author 表中删除,并且自动将所有对该作者的外键设置为 null。
以上就是 Django 中外键的增删改查操作。
阅读全文