は私がフォームセットに渡したい(正しく動作)の形を持っているが、ChoiceFieldsのためのタプルイム通過は、レンダリングされたか、またはエラーを持っていません。フォームセットの初期選択フィールド
これは、元の形式であります:
class PO_Form(forms.Form):
def __init__(self, baseItem_choices, color_choices, material_choices, sizeGroup_choices, *args, **kwargs):
super(PO_Form, self).__init__(*args, **kwargs)
self.fields['base_item'].choices = baseItem_choices
self.fields['color_or_print'].choices = color_choices
self.fields['material'].choices = material_choices
self.fields['size_group'].choices = sizeGroup_choices
base_item = forms.ChoiceField(choices=(), required=True)
color_or_print = forms.ChoiceField(choices=(), required=True)
material = forms.ChoiceField(choices=(), required=True)
size_group = forms.ChoiceField(choices=(), required=True)
このフォームChoiceFieldsは私がビューに作成touplesの各種リストから移入されています
form = PO_Form(baseItem_choices, color_choices, material_choices, sizeGroup_choices)
私はフォームセットでこの作業を行う方法は? 1:私は2つのアプローチを試してみました
PO_FormSet = formset_factory(PO_Form(baseItem_choices, color_choices, material_choices, sizeGroup_choices), extra=2)
私はこのエラーを取得:
File "/Library/Python/2.7/site-packages/django/core/handlers/exception.py" in inner 39. response = get_response(request)
File "/Library/Python/2.7/site-packages/django/core/handlers/base.py" in _get_response 187. response = self.process_exception_by_middleware(e, request)
File "/Library/Python/2.7/site-packages/django/core/handlers/base.py" in _get_response 185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/carlospceballos/Dropbox (Personal)/django/projectos/WholeSale/ShowRoom/views.py" in PO_formset_populate 115. PO_FormSet = formset_factory(PO_Form(baseItem_choices, color_choices, material_choices, sizeGroup_choices), extra=2)
File "/Library/Python/2.7/site-packages/django/forms/formsets.py" in formset_factory 449. return type(form.name + str('FormSet'), (formset,), attrs)
Exception Type: AttributeError at /showroom/po_populate/3/ Exception Value: 'PO_Form' object has no attribute 'name'
2:私はドンが」
PO_FormSet = formset_factory(PO_Form(), extra=2)
formset = PO_FormSet(initial=[
{ 'base_item': baseItem_choices,
'color_or_print': color_choices,
'material': material_choices,
'size_group': sizeGroup_choices, }
])
:私は、ビューの初期値を設定してみましたフォームを修正すると(を取り除く)エラーは発生しませんが、フォームを変更するとエラーは発生しません。選択肢のフィールドは空です...私は間違って何をしていますか?
素晴らしい、ありがとうございました!今働いている –