Удаление объектов в Formset Django - PullRequest
0 голосов
/ 03 ноября 2019

Я собираюсь удалить один объект в формах

enter image description here

, как вы можете видеть на картинке, что кнопка минус должна удалить существующий элемент, но это не такне работает.

def form_valid(self, form):
    form.save()
    context = self.get_context_data()
    instance = self.get_object()
    formset = product_forms.SizeFormset(self.request.POST)

    if formset.is_valid():
        product_sizes = product_models.Size.objects.filter(product_id=instance.id)
        default_item = 0
        if product_sizes.exists():
            product_sizes.delete()
        for formitem in formset:
            # only save if title and price is present
            if formitem.cleaned_data.get('title') and formitem.cleaned_data.get('price'):
                size = formitem.save(commit=False)
                size.product_id = instance.id
                if default_item == 0:
                    size.default = True
                else:
                    size.default = False
                default_item = default_item + 1
                formitem.save()

и в шаблоне этот код

<div class="size-add">
    <button class="{% if formitem.id.value %}remove-form-row {% else %}add-form-row {% endif %} btn btn-primary">

Как мне заставить его работать? Любая помощь? Заранее спасибо!

...