Как работать с инлайн-формами администратора в Django crispy-forms

Я столкнулся с проблемой при использовании crispy-forms. У меня есть поля, которые я отображаю через crispy layout.

class OptionOfProductInline(admin.TabularInline):
    form = OptionOfProductInlineForm
    model = OptionOfProduct
    extra = 1


class ProductForm(forms.ModelForm):
    class Meta:
        model = Product
        fields = "__all__"
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.helper = FormHelper()
        self.helper.form_id = 'id-exampleForm'
        self.helper.form_class = 'blueForms'
        self.helper.form_method = 'post'
        self.helper.form_action = 'submit_survey'
        self.helper.form_tag = False
        self.helper.layout = Layout(
            TabHolder(
            Tab("Основні налаштування",
                HTML("<div class='tab_name'>Основні налаштування</div>"),
                Div(
                        Div("article", "price", css_class='two_in_line'),
                        Div(Div(HTML(_("<div>Availability</div>")), "availability", css_class="form-group"), "percent_sale", css_class='two_in_line'),
                        Div("qty", "date_start_sale", css_class='two_in_line'),
                        Div("unit_fk", "date_end_sale", css_class='two_in_line'),
                        Div(Div(HTML(_("<div>Publish</div>")), "publish", css_class="form-group"), "order", css_class='two_in_line'),
                    css_class="left_side"),
                Div(
                        Div("image"),
                        Div("qty_min_order"),
                        Div("brand_fk"),
                        Div("category_fk"),
                        Div("show_in_categories"),
                    css_class="right_side"),

                css_class="two_cols"),
            Tab("SEO",
                HTML("<div class='tab_name'>SEO</div>"),
                Div(
                    Div(*name, css_class='column_fields'), Div(*slug, css_class='column_fields'), Div(*h1, css_class='two_in_line'), Div(*title, css_class='row_fields'),
                    Div(*meta_description, css_class='field_description'), Div(*description, css_class='field_description'), css_class='name_slug'),
                css_class="center_side",
                ),
        ),
        )
@admin.register(Product)
class ProductAdmin(TabbedTranslationAdmin):
    form = ProductForm
    add_form_template = "admin/my_form.html"
    change_form_template = "admin/my_form.html"

Поля выглядят как на этом скриншоте: https://i.imgur.com/lLL2G23.jpg.

Вкладка "Inline" должна содержать наборы форм, которые выглядят как на этом скриншоте: https://i.imgur.com/nKOntVV.jpg и я хочу вывести этот набор форм через Layout.

Я пытался вывести вот так, но ничего не получилось :(

)
Tab("Inline", OptionOfProductInline, css_class="some_class",)

OptionOfProduct и OptionOfProductInlineForm:

class OptionOfProduct(models.Model):
    product_fk = models.ForeignKey(Product, on_delete=models.CASCADE, null=True, blank=True)
    option_value_mtm = models.ManyToManyField(OptionValue, null=True, blank=True)
    article = models.CharField(verbose_name=_('article'), null=True, blank=True, max_length=255)
    price = models.DecimalField(verbose_name=_('price'), null=True, blank=True, decimal_places=2, max_digits=9, default=0.00)
    qty = models.IntegerField(verbose_name=_('qty'), default=0)

class OptionOfProductInlineForm(ModelForm):
    option_value_mtm = forms.ModelMultipleChoiceField(queryset=OptionValue.objects.all(), required=False, widget=CustomSelectWidget)

    class Meta:
        model = OptionOfProduct
        fields = '__all__'
        exclude = None

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