Как можно сериализовать объектный идентификатор MongoDB с помощью Marshmallow?
Я строю и API поверх Flask, используя зефир и mongoengine. Когда я звоню, и ID должен быть сериализован, я получаю следующую ошибку:
TypeError: ObjectId('54c117322053049ba3ef31f3') is not JSON serializable
Я видел несколько способов с другими библиотеками переопределить способ обработки ObjectId. Я еще не разобрался с Зефиром, кто-нибудь знает, как это сделать?
Моя модель:
class Process(db.Document):
name = db.StringField(max_length=255, required=True, unique=True)
created_at = db.DateTimeField(default=datetime.datetime.now, required=True)
Мой сериализатор:
class ProcessSerializer(Serializer):
class Meta:
fields = ("id", "created_at", "name")
И мнение:
class ProcessView(Resource):
def get(self, id):
process = Process.objects.get_or_404(id)
return ProcessSerializer(process).data