如果我在forms.py中将ID作为静态值,则表单将正确呈现。当我使用从form call
获取的ID时,它无法正常渲染views.py
def assetAddJsonView(request,pk):
form = AssetAddjsonForm(id = pk)
context = {
'form': form
}
return render(request, 'asset_add_json.html', context)
forms.py
from django_jsonforms.forms import JSONSchemaField
class AssetAddjsonForm(Form):
def __init__(self, *args, **kwargs):
self.request = kwargs.pop('id')
super(AssetAddjsonForm, self).__init__(*args, **kwargs)
type_json_schema = Types.objects.values_list('details').get(id=1) # details contains schema object
type_json_schema = list(type_json_schema)[0]
add_asset = JSONSchemaField(schema = type_json_schema, options = options)
不传递id=1我想传递我在中得到的值self。request
我引用了这个链接Django应用程序从JSON动态生成表单?
Thanks in advance
我找到了我的问题的答案下面是我在formclass
中所做更改的代码def assetAddJsonView(request,pk):
def __init__(self, *args, **kwargs):
ids = kwargs.pop('id')
super(AssetAddjsonForm, self).__init__(*args, **kwargs)
type_json_schema = Types.objects.values_list('details').get(id=ids)
self.fields['add_asset'] = JSONSchemaField(schema=list(type_json_schema)[0], options = options)