Как я могу отобразить Django Formset с некоторыми данными для процесса обновления?

Я использую Dajngo formset с inlineformset_factory. Мне нужно, чтобы когда пользователь нажимает на кнопку обновления, она должна отображать набор форм со значением. Вот код, который я сделал, но ничего не работает: Вот как я создаю набор форм

OrderItemFormset = inlineformset_factory(
    Order, OrderItem, fields='__all__', extra=1, can_delete=False)

А вот как я пытался отобразить набор форм с помощью queryset=my_query_set.

if 'id' in kwargs.keys():
            order = Order.objects.get(id=kwargs.get('id'))
            order_items = OrderItem.objects.filter(order_id=kwargs.get('id'))
        else:
            order = None
            order_items = None
        order_form = OrderForm(instance=order)
        print(order_items)
        order_item_form = OrderItemFormset(queryset=order_items)
    

Когда я нажимаю на ссылку обновления, Django выводит родительскую форму с нужными мне данными, но это не работает с formset, он просто дает мне одну строку с пустыми данными.

После некоторых попыток решить мою проблему я обнаружил, что я использую queryset, и я думаю, что я должен использовать instance вместо этого. И еще одна вещь - экземпляр был из модели OrderItem, а вместо этого он должен быть из модели Order, поэтому код должен выглядеть следующим образом.

def get(self, request, *args, **kwargs):
        if 'id' in kwargs.keys():
            order = Order.objects.get(id=kwargs.get('id'))
        else:
            order = None
        order_form = OrderForm(instance=order)
        order_item_form = OrderItemFormset(instance=order)
        orders = Order.objects.all()
        context = {'order_form': order_form,
                   'order_item_form': order_item_form, 'orders': orders}
        return render(request, self.template_name, context)

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