Django 一对多关系
warning:
这篇文章距离上次修改已过212天,其中的内容可能已经有所变动。
在Django中,一对多关系通常是通过ForeignKey字段在多(多的一方)的模型中创建的。这意味着一个对象可以有多个实例与之关联。
例如,我们可以创建一个Author
模型和一个Book
模型,其中一个作者可以写多本书,但一本书只有一个作者。
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)
在这个例子中,ForeignKey
字段author
在Book
模型中创建了一对多关系,即一个Author
对象和多个Book
对象之间的关系。on_delete=models.CASCADE
参数意味着当删除一个作者时,相应的书籍也会被删除。
要创建新的作者和书籍,可以使用以下方式:
# 创建一个作者
author = Author.objects.create(name='John Doe')
# 创建一本书
book = Book.objects.create(title='Some Book Title', author=author)
要查询特定作者的所有书籍,可以使用以下方式:
# 获取特定作者的所有书籍
books = Book.objects.filter(author=author)
这就是在Django中创建和使用一对多关系的基本方法。
评论已关闭