django-extra-views и вложенные формы

Я хотел бы использовать вложенный встроенный набор форм, используя django-extra-views для создания и обновления.

Я могу реализовать типичный (не вложенный) встроенный набор форм без проблем. Вот основной пример этого.

# forms.py
class ProductForm(forms.ModelForm):
    class Meta:
        model = models.Product

        # for brevity, assume these fields are defined on the `Product` model
        fields = [
            'name',
            'image',
            'price',
        ]


class VariantForm(forms.ModelForm):
    class Meta:
        model = models.Variant

        # for brevity, assume these fields are defined on the `Variant` model
        fields = [
            'price_override',
            'shipping_dimensions',
        ]


class InlineVariant(InlineFormSet):
    model = models.Variant
    form_class = VariantForm
    extra = 1

А также

# views.py
class Add(CreateWithInlinesView):
    template_name = "products/add.html"
    model = models.Product
    form_class = forms.ProductForm

    inlines = [
        forms.InlineVariant,
    ]


class Edit(UpdateWithInlinesView):
    template_name = "products/edit.html"
    model = models.Product
    form_class = forms.ProductForm
    context_object_name = "product"

    inlines = [
        forms.InlineVariant,
    ]

Но теперь я хочу Stock быть в линии для каждого Variant,

# forms.py
class StockForm(forms.ModelForm):
    class Meta:
        model = models.Stock

        # for brevity, assume these fields are defined on the `Stock` model
        fields = [
            'location',
            'quantity',
        ]


class InlineStock(InlineFormSet):
    model = models.Stock
    form_class = StockForm
    extra = 1

Как изменить вид, определенный выше?

Существует проблема django-extra-views, которая утверждает, что это возможно. Однако нет четкого примера того, как это сделать. Кто-то предлагает сделать заказ formset_class,

Я также нашел отдельный пакет, django-nested-admin, который определяет, казалось бы, общий NestedInlineFormset учебный класс. Может ли это быть как-то интегрировано?

Я нахожу это действительно запутанным.

0 ответов

Другие вопросы по тегам