如何在Django中使用JSONSchemaField根据表单请求传递的ID创建动态表单?



如果我在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)