1.5 KiB
1.5 KiB
多用户改造方案
📋 改动清单
1. 数据模型改动
DiaryEntry
# 添加字段
user = ForeignKey(User, on_delete=CASCADE, verbose_name='用户')
# 修改唯一约束
unique_together = ['user', 'date'] # 每个用户每天一条
Experience
user = ForeignKey(User, on_delete=CASCADE, verbose_name='用户')
Task
user = ForeignKey(User, on_delete=CASCADE, verbose_name='用户')
assigned_to = ForeignKey(User, ..., null=True) # 改为关联用户
Comment
created_by = ForeignKey(User, on_delete=CASCADE) # 改为关联用户
2. 新增认证 API
POST /api/auth/register/ # 注册
POST /api/auth/login/ # 登录
POST /api/auth/logout/ # 登出
GET /api/auth/me/ # 当前用户
3. API 权限控制
所有 API 添加:
permission_classes = [IsAuthenticated]
def get_queryset(self):
return Model.objects.filter(user=self.request.user)
4. 前端新增
- 登录页面
/login - 注册页面
/register - 未登录重定向
⏱️ 预计工时
- 数据模型迁移:15 分钟
- 认证 API:30 分钟
- 权限控制:30 分钟
- 前端登录界面:30 分钟
- 测试验证:15 分钟
总计:约 2 小时
⚠️ 注意事项
- 数据迁移 - 现有数据需要关联到默认用户
- 向后兼容 - 保持现有 API 格式
- 密码安全 - 使用 Django 内置加密
- 用户隔离 - 确保用户只能访问自己的数据
确认改造后开始实施