Django ModelForm-以有效形式访问自定义字段
我已经按照下面的说明向ModelForm添加了一个自定义字段,但是我无法在UpdateView中访问该字段。我已尝试打印该对象,但现场设备\u circuit\u子网不在其中,同时在对象外部引用它会引发错误 是否可以获取模型表单中自定义字段的值,以便在保存对象之前使用它 谢谢 forms.pyDjango ModelForm-以有效形式访问自定义字段,django,django-forms,Django,Django Forms,我已经按照下面的说明向ModelForm添加了一个自定义字段,但是我无法在UpdateView中访问该字段。我已尝试打印该对象,但现场设备\u circuit\u子网不在其中,同时在对象外部引用它会引发错误 是否可以获取模型表单中自定义字段的值,以便在保存对象之前使用它 谢谢 forms.py class SiteServiceForm(forms.ModelForm): class Meta: model = DeviceCircuitSubnets f
class SiteServiceForm(forms.ModelForm):
class Meta:
model = DeviceCircuitSubnets
fields = ['device','circuit','subnet','monitored','interface_name','get_bgp','wb_bgp','db_bgp','get_interface','wb_interface','db_interface','get_aws','wb_aws','db_aws']
def __init__(self, *args, **kwargs):
self.is_add = kwargs.pop("is_add", False)
site_id = kwargs.pop("site_id")
super(SiteServiceForm, self).__init__(*args, **kwargs)
self.fields['device'].required = False
self.fields['circuit'].required = False
self.fields['subnet'].required = False
self.fields['device_circuit_subnet'] = DeviceCircuitSubnetField(
queryset=DeviceCircuitSubnets.objects.filter(device__site_id=site_id).select_related(
'device', 'circuit', 'subnet'
),
label='Device / Circuit / Subnet'
)
self.helper = FormHelper(self)
self.helper.form_id = 'site_service_form'
self.helper.form_method = 'POST'
self.helper.layout = Layout(
Div(
Div(
Div(HTML('<i class="fa fa-bolt fa-fw"></i> Service'), css_class='card-header'),
Div(
Div(
Div(
Field('device_circuit_subnet', css_class='chosen'),
css_class='col-lg-6'
),
Div(
...
控制台输出表单打印对象
{'_state': <django.db.models.base.ModelState object at 0x7f31fedefcf8>, 'id': None, 'device_id': None, 'circuit_id': None, 'subnet_id': None, 'active_link': False, 'active_link_timestamp': None, 'monitored': False, 'interface_name': 'll', 'get_bgp': False, 'wb_bgp': False, 'db_bgp': False, 'get_interface': False, 'wb_interface': False, 'db_interface': False, 'get_aws': False, 'wb_aws': False, 'db_aws': False}
{u state':,'id':None,'device'id':None,'circuit'u id':None,'subnet'id':None,'active'u link':False,'active'u timestamp':None,'monitored':False,'wb'bgp':False,'db'u interface':False,'wb'u interface':False,'db'u interface':False,'get'aws':False,'wb'aws':Falselse}
该字段的格式为已清除的\u数据
dcs = form.cleaned_data['device_circuit_subnet']
该字段的格式为U数据
dcs = form.cleaned_data['device_circuit_subnet']
谢谢你的帮助谢谢你的帮助