Django软删除功能完整指南:构建图书馆项目
Django软删除功能完整指南:构建图书馆项目
推荐超级课程:
- 本地离线DeepSeek AI方案部署实战教程【完全版】
- Docker快速入门到精通
- Kubernetes入门到大师通关课
- AWS云服务快速入门实战
目录
- Django软删除功能完整指南:构建图书馆项目
-
- 第 1 步:安装所需包
- 第 2 步:设置您的 Django 项目
- 第 3 步:创建一个 Django 应用程序
- 第 4 步:更新 `library_project/settings.py` 中的 `INSTALLED_APPS`
- 第 5 步:在 `library/models.py` 中定义模型
- 第 6 步:在 `library/admin.py` 中注册模型
- 第 7 步:进行迁移并应用更改
- 第 8 步:创建超级用户
- 第 9 步:在 `library/serializers.py` 中创建序列化器
- 第 10 步:在 `library/views.py` 中创建视图
- 第 11 步:更新 `library/urls.py`
- 第 12 步:更新 `library_project/urls.py`
- 第 13 步:运行开发服务器
在本教程中,我将使用 django-safedelete
包创建一个具有软删除功能的简单 Django 图书馆项目。该项目将包括多个模型、Django REST 框架 (DRF) API 和基本的 CRUD 操作。
Django-safedelete
功能,允许您将对象标记为已删除,而实际上并未从数据库中移除它们。
第 1 步:安装所需包
pip install django djangorestframework django-safedelete
安装 Django、Django REST 框架和 django-safedelete
以添加软删除功能。
第 2 步:设置您的 Django 项目
django-admin startproject library_project
cd library_project
此命令初始化一个名为 library_project
的新 Django 项目。
第 3 步:创建一个 Django 应用程序
python manage.py startapp library
生成一个新的 Django 应用程序 library
来组织您的项目组件。
第 4 步:更新 library_project/settings.py
中的 INSTALLED_APPS
INSTALLED_APPS = [
# ...
'rest_framework',
'safedelete',
'library',
]
将 'rest_framework'
、'safedelete'
和您的 'library'
应用程序添加到 INSTALLED_APPS
列表中。
第 5 步:在 library/models.py
中定义模型
创建两个具有软删除功能的模型 Author
和 Book
。
# library/models.py
from django.db import models
from safedelete.models import SafeDeleteModel, SOFT_DELETE_CASCADE
class Author(SafeDeleteModel):
_safedelete_policy = SOFT_DELETE_CASCADE
name = models.CharField(max_length=100)
def __str__(self):
return self.name
class Book(SafeDeleteModel):
_safedelete_policy = SOFT_DELETE_CASCADE
title = models.CharField(max_length=100)
author = models.ForeignKey(Author, on_delete=models.CASCADE)
def __str__(self):
return self.title
实现 Author
和 Book
模型,两者都继承自 SafeDeleteModel
并具有软删除策略。
第 6 步:在 library/admin.py
中注册模型
# library/admin.py
from django.contrib import admin
from .models import Author, Book
admin.site.register(Author)
admin.site.register(Book)
在 Django 管理界面中注册 Author
和 Book
模型。
第 7 步:进行迁移并应用更改
python manage.py makemigrations
python manage.py migrate
运行迁移以将更改应用到数据库模式。
第 8 步:创建超级用户
python manage.py createsuperuser
生成一个超级用户以访问 Django 管理界面。
第 9 步:在 library/serializers.py
中创建序列化器
# library/serializers.py
from rest_framework