django怎么记录外键字段
时间: 2023-07-20 14:34:04 浏览: 178
在 Django 中,记录外键字段主要有两种方式:
1. 通过外键关联对象的 ID 记录外键字段:
```python
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.ForeignKey('Author', on_delete=models.CASCADE)
class Author(models.Model):
name = models.CharField(max_length=50)
```
在上面的例子中,`Book` 模型使用 `ForeignKey` 字段关联到 `Author` 模型,通过 `Author` 模型的 ID 来记录外键字段。
2. 直接通过外键关联对象记录外键字段:
```python
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.ForeignKey('Author', on_delete=models.CASCADE)
class Author(models.Model):
name = models.CharField(max_length=50)
book = models.OneToOneField(Book, on_delete=models.CASCADE, null=True, blank=True)
```
在上面的例子中,`Author` 模型使用 `OneToOneField` 字段关联到 `Book` 模型,直接通过 `Book` 模型来记录外键字段。
需要注意的是,如果关联的对象被删除了,那么与之关联的外键字段也会被删除。在上面的例子中,当相关的 `Author` 或 `Book` 被删除时,与之关联的外键字段也会被删除。
阅读全文