# 设备管理命令文档 本文档描述了用于设备管理的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. 测试设备可用于开发和测试环境,不建议在生产环境中使用