Django 模型操作 - 一对多
from django.db import models
# 定义一个Author模型
class Author(models.Model):
name = models.CharField(max_length=100)
def __str__(self):
return self.name
# 定义一个Book模型,并将Author模型作为外键
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.ForeignKey(Author, on_delete=models.CASCADE)
published_date = models.DateField()
def __str__(self):
return self.title
# 使用示例
# 创建一个新作者
new_author = Author.objects.create(name='John Doe')
# 创建一本新书,并关联到上面创建的作者
new_book = Book.objects.create(title='Example Book', author=new_author, published_date='2021-01-01')
# 查询作者所有的书籍
books_by_author = Book.objects.filter(author=new_author)
# 查询书籍的作者
author_of_book = new_book.author
# 删除作者同时级联删除其所有书籍
new_author.delete()
这个代码示例展示了如何在Django中定义一对多的关系,并展示了如何创建新的作者和新的书籍,并将它们关联起来。同时,我们也展示了如何查询作者的所有书籍以及查询书籍的作者,并在最后通过删除作者来演示级联删除的效果。
评论已关闭