# coding=utf-8 import click from base import init_env init_env(interactive = True) from apps.web.device.models import Device @click.group() def cli(): click.echo(u"本脚本用于修改已经发行的虚拟卡卷 可续卡时间") def check_device(device): return device.is_registered @cli.command() @click.option('--first', prompt=u'第一个设备编号:') @click.option('--second', prompt=u'第二个设备编号:') def main(first, second): """ 将两个模块设备编号互换 两个模块必须都处于没有注册的状态 :param first: :param second: :return: """ device1 = Device.objects.get(logicalCode=first) device2 = Device.objects.get(logicalCode=second) if any ([check_device(device1), check_device(device2)]): print u"设备已被注册,不能换编号" return # 先将其变成中间量 device1.update(logicalCode="1111111111") device2.update(logicalCode=first) device1.update(logicalCode=second) Device.invalid_device_cache(device1.devNo) Device.invalid_device_cache(device2.devNo) print u"成功" if __name__ == '__main__': main()