【问题标题】:Creating dummy models via Django Management Commands通过 Django 管理命令创建虚拟模型
【发布时间】:2019-01-26 12:58:28
【问题描述】:

我正在尝试为自定义 Django 管理命令编写脚本。该脚本将创建订单(一个模型),每个订单都分配有 1 到 10 个随机数量的服务器。到目前为止,我有:

class Command(BaseCommand):
    help = 'etc...'

def add_arguments(self, parser):
    parser.add_argument('dummy-orders', type=int, help='Number of dummy-orders to create')
    parser.add_argument('servers-min', type=int, help='Minimum random amount of servers')
    parser.add_argument('servers-max', type=int, help='Maximum random amount of servers (max=10)')

def handle(self, *args, **options):
    dummy_orders = options['dummy-orders']
    servers_min = options['servers-min']
    servers_max = options['servers-max']

    assert dummy_orders <= 3000
    self.check_input_integers(servers_min, servers_max, 'Servers')

    for i in range(dummy_orders):
        servers_random = randint(servers_min, servers_max)
        #test = Order.objects.create(servers_num=servers_random)
        model = Order
        #model = Order(servers_num=servers_random)
        #user = Order.objects.get_or_create()
        print(model)

基本上,每个订单也有一个随机数量的服务器与之关联。最初没有servers_num 字段,我必须在模型中添加它。我面临的问题是如何简单地迭代range(dummy_orders) 并为其分配随机数量的服务器。有任何想法吗?由于这仅用于测试目的,我希望我也必须以某种方式删除所有这些新条目?

【问题讨论】:

    标签: python-3.x django-models django-1.11 django-management-command


    【解决方案1】:

    真的很简单,我只是像普通的那样创建了一个模型对象,例如(model = DummyOrder(servers_num=servers_random, luns_num=luns_random))。这似乎足以满足要求。

    【讨论】:

      猜你喜欢
      • 2012-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-12
      • 2018-04-13
      • 1970-01-01
      • 2011-04-11
      • 2019-06-12
      相关资源
      最近更新 更多