lty/qy_lty/docs/device_commands.md
2026-03-17 13:17:02 +08:00

131 lines
3.7 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.

# 设备管理命令文档
本文档描述了用于设备管理的Django自定义命令。这些命令用于批量创建测试设备和清理测试设备数据。
## 环境准备
在执行命令前请先切换到正确的Conda环境
```bash
conda activate lty
```
## 创建测试设备
### 命令名称
`create_test_devices`
### 功能描述
批量创建测试用设备数据包括设备类型、批次和设备。每个设备都有唯一的设备码和MAC地址。
### 参数选项
| 参数 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| `--type-count` | 整数 | 3 | 要创建的设备类型数量 |
| `--batch-count` | 整数 | 2 | 每种设备类型的批次数量 |
| `--device-count` | 整数 | 10 | 每个批次的设备数量 |
### 使用示例
1. 使用默认参数创建测试设备:
```bash
python manage.py create_test_devices
```
这将创建3种设备类型每种2个批次每个批次10台设备总共60台设备。
2. 自定义数量创建测试设备:
```bash
python manage.py create_test_devices --type-count=2 --batch-count=3 --device-count=5
```
这将创建2种设备类型每种3个批次每个批次5台设备总共30台设备。
### 输出说明
命令执行过程中会显示创建的每个设备的信息,包括:
- 设备类型名称和代码
- 批次编号
- 设备的序列号和MAC地址
- 设备码(自动生成,格式为:类型代码-批次号-序列号)
执行结束后会显示创建的总数据量统计。
## 清理测试设备
### 命令名称
`clean_test_devices`
### 功能描述
清理数据库中的测试设备数据,可以选择只清理测试设备或清理所有设备数据。
### 参数选项
| 参数 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| `--test-only` | 标志 | - | 只清理名称中包含"测试"的设备数据 |
| `--all` | 标志 | - | 清理所有设备数据(慎用) |
| `--force` | 标志 | - | 强制删除,不提示确认 |
### 使用示例
1. 清理所有测试设备数据(会提示确认):
```bash
python manage.py clean_test_devices --test-only
```
2. 清理所有设备数据(会提示确认):
```bash
python manage.py clean_test_devices --all
```
3. 强制清理测试设备数据(不提示确认):
```bash
python manage.py clean_test_devices --test-only --force
```
### 输出说明
命令执行过程中会显示删除的数据数量,包括:
- 用户设备关联记录数
- 设备数量
- 批次数量
- 设备类型数量
执行结束后会显示清理的总数据量统计。
## 数据结构说明
创建的测试数据结构如下:
1. **设备类型(DeviceType)**
- 名称格式:测试设备类型-{序号}
- 代码格式T{序号:02d}例如T01, T02, ...
- 每个类型有唯一的名称和代码
2. **设备批次(DeviceBatch)**
- 批次号格式B{设备类型代码}{批次序号:02d}例如BT0101, BT0102, ...
- 每个批次关联到特定设备类型
- 生产日期设为当前日期
3. **设备(Device)**
- 序列号格式:{序号:05d}例如00001, 00002, ...
- MAC地址随机生成的唯一地址
- 设备码格式:{类型代码}-{批次号}-{序列号}例如T01-BT0101-00001
- 初始状态设为未激活is_active=False
## 注意事项
1. 创建测试设备前,建议先清理之前的测试数据,避免重复数据冲突
2. 使用 `--all` 参数清理设备数据时请谨慎,这将删除所有设备相关数据
3. 测试设备可用于开发和测试环境,不建议在生产环境中使用