Использование класса 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 хрустящих форм?

Вернуться на верх