Использование класса Layout класса Django crispy forms с полями отношений
У меня есть модель с большим количеством связанных полей (ForeignKey, OneToOneField, ManyToManyField). Я хочу отобразить ее с помощью классов FormHelper и Layout из django crispy forms в forms.py.
Но я не знаю синтаксис для получения связанных полей. Я пробовал использовать синтаксис запроса с двойным подчеркиванием, но он не заполняется данными экземпляра:
class Model_A_Form(forms.ModelForm):
initial_info = forms.CharField(label="Initial info")
field_1__relfield1 = forms.CharField(label='Field 1.1')
field_1__relfield2 = forms.CharField(label='Field 1.2')
field_2__relfield1 = forms.CharField(label='Field 2.1')
field_2__relfield2 = forms.CharField(label='Field 2.2')
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
tab_1 = TabHolder(
Tab('Tab 1.1',
'field_1__name'
),
Tab('Tab 1.2',
'field_2__name'
),
)
tab_2 = TabHolder(
Tab('Tab 2.1',
'field_1__name'
),
Tab('Second Tab',
'field_2__name'
),
)
layout = Layout(
Tab('Tab 1',
tab_1
),
Tab('Tab 2',
tab_2,
)
)
self.helper = FormHelper()
self.helper.layout = layout
class Meta:
model = Nizam_Manzum
fields = (
'initial_info',
'field_1__relfield1',
'field_1__relfield2',
'field_2__relfield1',
'field_2__relfield2',
)
Попробовал использовать другие формы напрямую, но получил ошибку о том, что передача форм в качестве аргумента объекту Layout невозможна:
tab_2 = Tab_2_Form(instance=tab_2_id)
layout = Layout(
Tab('Tab 2',
tab_2
),
Так есть ли способ получить связанные поля с помощью классов FormHelper и Layout хрустящих форм?