Сохранение вычисленного значения в Django - просмотр - PullRequest
0 голосов
/ 12 июля 2019

У меня есть модель со всеми необходимыми полями. Затем создал вид с такими же полями. Я могу сохранить свои значения из формы успешно. Теперь я хочу иметь возможность вычислить значение, т.е. network_range, исходя из того, какой network_size был выбран в форме, и сохранить это значение вместе с другими

Используя код netbox, выбранный network_size вычислит диапазон IP-адресов. Этот адрес успешно распечатывается (дублирование). Как мне получить, чтобы сохранить network_range, а также все другие данные в форме. пример, если network_range дает это - 172.16.3.224/28 (я хочу сохранить это в модели)


            org = account_form.cleaned_data['org']
            acc_id = account_form.cleaned_data['acc_id']
            account = account_form.cleaned_data['account']
            email = account_form.cleaned_data['email']
            network_size = account_form.cleaned_data['network_size']
            budget_amount = account_form.cleaned_data['budget_amount']
            budget_frequency = account_form.cleaned_data['budget_frequency']
            service_level = account_form.cleaned_data['service_level']

            account = account_form.save(commit=False)


            netbox_conn = pynetbox.api("http://REDACTED","REDACTED")
            get_parent_pref = netbox_conn.ipam.prefixes.get(30);print(get_parent_pref)
            prefix = netbox_conn.ipam.prefixes.get(prefix=get_parent_pref);print("listpre"+str(prefix))

            if network_size == "small":
                network_range = prefix.available_prefixes.create({'prefix_length': 28})['prefix'];print(network_range)
            elif network_size == "medium":
                network_range = prefix.available_prefixes.create({'prefix_length': 25})['prefix'];print(network_range)
            elif network_size == "large":
                network_range = prefix.available_prefixes.create({'prefix_length': 24})['prefix'];print(network_range)
#                account_temp.save()

            network_range = ['network_range']

            account.save()


            return redirect(portal_account)```
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...