Объект типа Modul не является JSON сериализуемым при попытке установить значение другой модели в сессии
я пытаюсь сохранить id созданной модели в сессии, чтобы потом обновить его на другой странице, но функция set выдает ошибку
я использую request.session['ORDER'] = serializers.serialize('json', Order.objects.all()) прямо сейчас, но я также использовал request.session['ORDER'] = order.id, я получил ту же ошибку
if form.is_valid():
if(form.cleaned_data['paymentmethod'] == "PayPal"):
print("Paypal choosed")
first_name = form.cleaned_data['first_name']
last_name = form.cleaned_data['last_name']
email = form.cleaned_data['email']
phone = form.cleaned_data['phone']
address = form.cleaned_data['address']
zipcode = form.cleaned_data['zipcode']
place = form.cleaned_data['place']
paymentmethod = 'pypnt'
order = checkout(request, first_name, last_name, email, address, zipcode, place, phone,
cart.get_total_cost(), paymentmethod)
print(order.id)
print(order)
request.session['ORDER'] = serializers.serialize('json', Order.objects.all())
return redirect('cart:process')
это модель заказа
lass Order(models.Model):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
email = models.CharField(max_length=100)
address = models.CharField(max_length=100)
zipcode = models.CharField(max_length=100)
place = models.CharField(max_length=100)
phone = models.CharField(max_length=100)
created_at = models.DateTimeField(auto_now_add=True)
paid_amount = models.DecimalField(max_digits=8, decimal_places=2)
vendors = models.ManyToManyField(Vendor, related_name='orders')
id = models.AutoField(primary_key=True)
class paymentmethod(models.TextChoices):
ошибка:
Internal Server Error: /de/cart/
raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Объект типа Product не является JSON сериализуемым