Как создать модель из этого словаря? - PullRequest
0 голосов
/ 25 марта 2020

Я хочу создать форму для ввода пользователя из словаря ниже, но не знаю, как это сделать на django

    my_play = dict(
      name="may_first_play",
      hosts='cisco_firewalls',
      become='yes',
      become_method='enable',
      gather_facts='no',
      tasks=[
          dict(action=dict(module='asa_command', commands=['show version','show ip'])),
          dict(action=dict(module='asa_config', lines=['network-object host 10.1.0.1'])
      ]
  )

Я делаю такую ​​модель как модель, но путаю ее с задачами на полях

    class Book(models.Model):
     name = models.CharField(max_length=100)
     hosts = models.CharField(max_length=100)
     become = models.CharField(max_length=100)
     become_method = models.CharField(max_length=100)
     gather_facts = models.CharField(max_length=100)

     class task(Book):`

Пожалуйста, я буду очень признателен, если вы мне поможете

1 Ответ

0 голосов
/ 25 марта 2020

Попробуйте следующий код

И вам необходимо добавить поле задач в вашей модели Book также.

class Book(models.Model):
     name = models.CharField(max_length=100)
     hosts = models.CharField(max_length=100)
     become = models.CharField(max_length=100)
     become_method = models.CharField(max_length=100)
     gather_facts = models.CharField(max_length=100)
     tasks = models.TextField()

my_play = dict(
        name="may_first_play",
        hosts='cisco_firewalls',
        become='yes',
        become_method='enable',
        gather_facts='no',
        tasks=[
            dict(action=dict(module='asa_command', commands=['show version', 'show ip'])),
            dict(action=dict(module='asa_config', lines=['network-object host 10.1.0.1']))
        ]
    )

    book = Book(**my_play)
    book.save()
...