Files
diary-system/MULTI_USER_PLAN.md

81 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 多用户改造方案
## 📋 改动清单
### 1. 数据模型改动
#### DiaryEntry
```python
# 添加字段
user = ForeignKey(User, on_delete=CASCADE, verbose_name='用户')
# 修改唯一约束
unique_together = ['user', 'date'] # 每个用户每天一条
```
#### Experience
```python
user = ForeignKey(User, on_delete=CASCADE, verbose_name='用户')
```
#### Task
```python
user = ForeignKey(User, on_delete=CASCADE, verbose_name='用户')
assigned_to = ForeignKey(User, ..., null=True) # 改为关联用户
```
#### Comment
```python
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 添加:
```python
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. **用户隔离** - 确保用户只能访问自己的数据
---
_确认改造后开始实施_