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

3.7 KiB
Raw Blame History

设备管理命令文档

本文档描述了用于设备管理的Django自定义命令。这些命令用于批量创建测试设备和清理测试设备数据。

环境准备

在执行命令前请先切换到正确的Conda环境

conda activate lty

创建测试设备

命令名称

create_test_devices

功能描述

批量创建测试用设备数据包括设备类型、批次和设备。每个设备都有唯一的设备码和MAC地址。

参数选项

参数 类型 默认值 说明
--type-count 整数 3 要创建的设备类型数量
--batch-count 整数 2 每种设备类型的批次数量
--device-count 整数 10 每个批次的设备数量

使用示例

  1. 使用默认参数创建测试设备:
python manage.py create_test_devices

这将创建3种设备类型每种2个批次每个批次10台设备总共60台设备。

  1. 自定义数量创建测试设备:
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. 清理所有测试设备数据(会提示确认):
python manage.py clean_test_devices --test-only
  1. 清理所有设备数据(会提示确认):
python manage.py clean_test_devices --all
  1. 强制清理测试设备数据(不提示确认):
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. 测试设备可用于开发和测试环境,不建议在生产环境中使用