Django는 ORM 모델을 JSON으로 편리하게 직렬화하는 반면 SQLAlchemy 쿼리 결과를 JSON으로 직렬화하는 것은 더 어려운 작업일 수 있습니다. . JSON 인코더는 일반적으로 SQLAlchemy 개체를 처리하는 데 어려움을 겪습니다.
질문에서 제안된 한 가지 잠재적인 해결책은 jsonpickle을 사용하여 쿼리 개체 자체를 인코딩하는 것입니다. 그러나 이 접근 방식은 만족스럽지 못한 결과를 낳습니다. 마찬가지로, json.dumps(items)를 사용하면 SQLAlchemy ORM 개체의 JSON 직렬화가 불가능한 특성으로 인해 직렬화 오류가 발생합니다.
대체 접근 방식은 SQLAlchemy 개체를 수동으로 사전으로 변환하는 것입니다.
class User: def as_dict(self): return {c.name: getattr(self, c.name) for c in self.__table__.columns}
그런 다음 이 as_dict() 메소드를 사용하여 사용자를 직렬화할 수 있습니다. object:
user = User() user_dict = user.as_dict()
이 접근 방식은 더 유연하며 애플리케이션의 특정 요구 사항에 따라 사용자 정의 직렬화 논리를 허용합니다.
위 내용은 SQLAlchemy 쿼리 결과를 JSON으로 효율적으로 직렬화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!