Files
diary-system/MULTI_USER_PLAN.md

1.5 KiB
Raw Blame History

多用户改造方案

📋 改动清单

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 小时


⚠️ 注意事项

  1. 数据迁移 - 现有数据需要关联到默认用户
  2. 向后兼容 - 保持现有 API 格式
  3. 密码安全 - 使用 Django 内置加密
  4. 用户隔离 - 确保用户只能访问自己的数据

确认改造后开始实施