Как проверить запрос, сгенерированный общим CreateView

У меня есть общий CreateView и он не работает так, как задумано. В моей базе данных есть таблица с составным первичным ключом из двух полей. Когда я пытаюсь создать несколько экземпляров этой таблицы, я получаю сообщение об ошибке 'Детали заказа с этим заказом уже существуют'. Похоже, что запрос, сгенерированный CreateView, пытается обновить существующую строку, но я хочу, чтобы он создал новую. Это все мои предположения, и мне интересно, как я могу проверить точный запрос, сгенерированный ORM Django. Я предполагаю, что он пытается обновить, а не вставить. Как мне это проверить? Спасибо. Если нужно, вот представление и модель

class OrderDetailsCreateView(LoginRequiredMixin, CreateView):
    model = OrderDetails
    template_name = 'orders/orderdetails_create.html'
    form_class = OrderDetailCreateOrUpdateForm

    def get_form_kwargs(self, **kwargs):
        form_kwargs = super(OrderDetailsCreateView, self).get_form_kwargs(**kwargs)
        emp = get_current_users_employee(self.request.user)
        last_order = Orders.objects.filter(employee=emp, id=self.kwargs['pk'])[0]
        last_order_details = OrderDetails.objects.filter(order=last_order).values('product_id')
        already_selected_products = last_order_details
        form_kwargs['already_selected_products'] = already_selected_products
        form_kwargs['emp'] = emp
        return form_kwargs

    def form_valid(self, form):
        return super(OrderDetailsCreateView, self).form_valid(form)

class OrderDetails(models.Model):
    order = models.OneToOneField('Orders', models.DO_NOTHING)
    product = models.ForeignKey('products.Products', models.DO_NOTHING)
    unit_price = models.FloatField()
    quantity = models.SmallIntegerField()
    discount = models.FloatField()

    class Meta:
        managed = False
        db_table = 'order_details'
        constraints = [
            models.UniqueConstraint(fields=['order', 'product'], name='order-product')
        ]
    

    def get_absolute_url(self):
        return u'/orders/%d' % self.order.pk
Вернуться на верх