1.3 KiB
1.3 KiB
数据库迁移说明
新增字段和模型
本次更新为图书管理系统添加了以下功能:
1. CrudBookModel 新增字段
file: 电子书文件字段(FileField)file_type: 文件类型字段(CharField),用于标识文件格式(epub, pdf, mobi等)
2. 新增 ReadingProgress 模型
用于记录用户的阅读进度,包含以下字段:
user: 用户外键book: 图书外键location: 阅读位置(EPUB CFI 或其他位置标识)progress: 阅读进度百分比(0-100)
执行迁移
在后端项目目录下执行以下命令:
# 生成迁移文件
python manage.py makemigrations crud_book
# 执行迁移
python manage.py migrate crud_book
新增API接口
1. 获取图书文件
GET /api/CrudBookModelViewSet/{id}/file/
返回图书的电子文件URL和文件类型
2. 保存阅读进度
POST /api/reading-progress/
{
"book_id": 1,
"location": "epubcfi(...)",
"progress": 45.5
}
3. 获取阅读进度
GET /api/reading-progress/{book_id}/
返回指定图书的阅读进度
注意事项
- 确保在 Django settings.py 中配置了 MEDIA_ROOT 和 MEDIA_URL
- 需要配置静态文件服务以访问上传的电子书文件
- 阅读进度按用户和图书唯一,同一用户同一本书只有一条进度记录