SQLAlchemy 쿼리 결과를 JSON 형식으로 직렬화하는 것은 웹 애플리케이션 작업 시 일반적인 작업일 수 있습니다. Django는 자동화된 직렬화를 제공하지만 SQLAlchemy에는 기본 직렬화 기능이 없습니다.
jsonpickle.encode 및 json.dumps를 사용하여 직렬화하려고 했습니다. SQLAlchemy 개체를 실행했지만 다음 오류가 발생했습니다.
TypeError: <Product('3', 'some name', 'some desc')> is not JSON serializable
직렬화 문제를 극복하려면 객체를 사전으로 변환하는 사용자 정의 클래스 메소드를 생성할 수 있습니다.
class User: def as_dict(self): return {c.name: getattr(self, c.name) for c in self.__table__.columns}
이 as_dict() 메소드는 다음의 사전 표현을 동적으로 생성합니다. 테이블 열을 반복하여 객체를 삭제합니다. 그런 다음 User.as_dict()를 사용하여 개체를 직렬화하고 이를 JSON 인코딩으로 전달할 수 있습니다.
SQLAlchemy 개체를 사전으로 변환하는 방법에 대한 자세한 내용은 다음 리소스를 참조하세요. :
커스텀 직렬화 방식을 구현하면 SQLAlchemy 쿼리 결과를 성공적으로 변환할 수 있다 JSON 형식으로 변환하여 JQGrid와 같은 JavaScript 데이터 그리드의 데이터를 사용할 수 있습니다.
위 내용은 SQLAlchemy ORM 개체를 JSON으로 직렬화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!