Как создать динамическую форму с использованием JSONSchemaField на основе ID, переданного из запроса формы в Django?
Форма отображается правильно, если я задаю ID как статическое значение в forms.py, она не отображается правильно, если я использую 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)
type_json_schema = list(type_json_schema)[0]
add_asset = JSONSchemaField(schema = type_json_schema, options = options)
Вместо передачи id=1 я хочу передать значение, которое я получил в self.request
Я сослался на ссылку, которую я упоминал здесь Django приложение, генерирующее формы динамически из JSON?
Заранее спасибо
Я нашел ответ на свой вопрос. Вот код, который я изменил в 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)