72 lines
1.3 KiB
Markdown
72 lines
1.3 KiB
Markdown
|
|
# 数据库模型快速参考
|
||
|
|
|
||
|
|
## 导入
|
||
|
|
|
||
|
|
```python
|
||
|
|
from src.models import (
|
||
|
|
init_database, # 初始化数据库
|
||
|
|
get_db, # 获取会话
|
||
|
|
Record, # 记录模型
|
||
|
|
RecordCategory, # 分类常量
|
||
|
|
)
|
||
|
|
```
|
||
|
|
|
||
|
|
## 分类类型
|
||
|
|
|
||
|
|
```python
|
||
|
|
RecordCategory.TODO # 待办事项
|
||
|
|
RecordCategory.NOTE # 笔记
|
||
|
|
RecordCategory.IDEA # 灵感
|
||
|
|
RecordCategory.REF # 参考资料
|
||
|
|
RecordCategory.FUNNY # 搞笑文案
|
||
|
|
RecordCategory.TEXT # 纯文本
|
||
|
|
```
|
||
|
|
|
||
|
|
## 常用操作
|
||
|
|
|
||
|
|
### 创建记录
|
||
|
|
```python
|
||
|
|
session = get_db()
|
||
|
|
record = Record(
|
||
|
|
image_path="/path/to/image.png",
|
||
|
|
ocr_text="识别文本",
|
||
|
|
category=RecordCategory.NOTE,
|
||
|
|
tags=["标签"]
|
||
|
|
)
|
||
|
|
session.add(record)
|
||
|
|
session.commit()
|
||
|
|
```
|
||
|
|
|
||
|
|
### 查询记录
|
||
|
|
```python
|
||
|
|
session = get_db()
|
||
|
|
record = session.query(Record).filter_by(id=1).first()
|
||
|
|
records = session.query(Record).all()
|
||
|
|
```
|
||
|
|
|
||
|
|
### 更新记录
|
||
|
|
```python
|
||
|
|
record.notes = "新备注"
|
||
|
|
record.add_tag("新标签")
|
||
|
|
session.commit()
|
||
|
|
```
|
||
|
|
|
||
|
|
### 转换字典
|
||
|
|
```python
|
||
|
|
data = record.to_dict()
|
||
|
|
```
|
||
|
|
|
||
|
|
## Record 字段
|
||
|
|
|
||
|
|
| 字段 | 类型 | 说明 |
|
||
|
|
|------|------|------|
|
||
|
|
| id | int | 主键 |
|
||
|
|
| image_path | str | 图片路径 |
|
||
|
|
| ocr_text | str | OCR结果 |
|
||
|
|
| category | str | 分类 |
|
||
|
|
| ai_result | str | AI内容 |
|
||
|
|
| tags | list | 标签列表 |
|
||
|
|
| notes | str | 备注 |
|
||
|
|
| created_at | datetime | 创建时间 |
|
||
|
|
| updated_at | datetime | 更新时间 |
|