在Django中,我们可以使用外键(ForeignKey)来定义表之间的关系。以下是一个简单的例子,展示了如何在Django的模型中使用外键。
假设我们有两个模型: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)
在这个例子中,Book模型有一个外键指向Author模型。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__name='John Doe')
这些基本操作展示了如何在Django中定义和使用外键关系。