Объект типа 'TypeError' не является JSON-сериализуемым, добавленный код получает то же сообщение об ошибке
Я использую django и pymongo для создания приложения для флеш-карт. Я использую файлы csv на mongodb compass. Я видел эту ошибку раньше, однако, когда я пытался исправить ее, я получаю ту же ошибку от сервера вот мой код ниже. когда я google эту ошибку код для исправления он также не исправляет ошибку. views.py
import json
from django.views.generic import ListView
from django.shortcuts import render
from .models import Card, myapp_collection
from django.http import HttpResponse
class CardListView(ListView):
model = Card
queryset = Card.objects.all().order_by('box', '-date_created')
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
# Prepare flashcards data from MongoDB for template
flashcards_data = [...] # Replace [...] with the processed flashcards data
flashcards_json = json.dumps(flashcards_data)
context['flashcards_json'] = flashcards_json
return context
models.py
# cards/models.py
from django.db import models
from .db_con import db
myapp_collection = db["myapp"]
NUM_BOXES = 5
BOXES = range(1, NUM_BOXES + 1)
class Card(models.Model):
question = models.CharField(max_length=100)
answer = models.CharField(max_length=100)
box = models.IntegerField(
choices=zip(BOXES, BOXES),
default=BOXES[0],
)
date_created = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.question
card_list.html
<!-- cards/templates/myapp/base.html -->
{% extends "cards/base.html" %}
<!DOCTYPE html>
<html lang="en">
<head>
<title>Flashcards</title>
</head>
<body>
<header>
<h1>Flashcards App</h1>
</header>
<main>
{% block content %}
<h2>Welcome to your Flashcards app!</h2>
{% endblock content %}
</main>
</body>
</html>