>백엔드 개발 >파이썬 튜토리얼 >SQLAlchemy 쿼리 결과를 JSON으로 효율적으로 직렬화하려면 어떻게 해야 합니까?

SQLAlchemy 쿼리 결과를 JSON으로 효율적으로 직렬화하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-29 20:56:11617검색

How Can I Efficiently Serialize SQLAlchemy Query Results to JSON?

SQLAlchemy 결과를 JSON으로 직렬화: 대체 접근 방식

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.