sqlalchemy의 문서를 읽으면 직렬화 부분을 보았습니다.
내가
그 처리 장고 확장이 JAX-RS와 같은 휴식의 웹 서비스와 SA 모델과 일치하는 XML serializer를 사용하는 가능성에 대해 궁금 해서요 : 그런 종류가 이미있는 경우 django_roa
당신은 알고 계십니까 sqlalchemy에 대한 developped 또는 그것을 할 수 있다면 ??
감사sqlalchemy REST 직렬화
2
A
답변
1
sqlalchemy.ext.serializer
는 모델 객체를 처리하지 않습니다, 쿼리, 표현 및 기타 내부 SQLAlchemy의 객체의 (pickle
모듈) 산세를 지원하기 위해 존재한다. 어떤 방법으로도 모델 객체를 XML로 직렬화하는 데 도움이되지 않습니다. 아마도 pyxser과 같은 것이 유용 할 것입니다.
+0
확인해 보겠습니다. 감사합니다. –
2
그것의 전체 RFC2616 준수까지 먼 길하지만, 프로토 타입, 나는 이런 식으로 뭔가 할 : 난에 작은 응용 프로그램을 썼습니다 일부 연구 후
from sqlalchemy import create_engine, Table, Column, Integer, String, ForeignKey, UniqueConstraint
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relation, backref, sessionmaker
from sqlalchemy.sql.expression import desc
import web
import json
DB_PATH = 'sqlite:////tmp/test.db'
Base = declarative_base()
class LocalClient(Base):
__tablename__ = 'local_clients'
__jsonexport__ = ['id', 'name', 'password']
id = Column(Integer, primary_key=True)
name = Column(String, unique=True, nullable=False)
password = Column(String)
def __init__(self, name, password):
self.name = name
self.password = password
def __repr__(self):
return "<LocalClient('%s', '%s')>" % (self.name, self.password)
urls = (
'/a/LocalClient', 'LocalClientsController'
)
class Encoder(json.JSONEncoder):
'''This class contains the JSON serializer function for user defined types'''
def default(self, obj):
'''This function uses the __jsonexport__ list of relevant attributes to serialize the objects that inherits Base'''
if isinstance(obj, Base):
return dict(zip(obj.__jsonexport__, [getattr(obj, v) for v in obj.__jsonexport__]))
return json.JSONEncoder.default(self, obj)
class LocalClientsController:
'''The generic RESTful Local Clients Controller'''
def GET(self):
'''Returns a JSON list of LocalClients'''
engine = create_engine(DB_PATH, echo=False)
Session = sessionmaker(bind=engine)
session = Session()
clis = session.query(LocalClient)
return json.dumps([c for c in clis], cls=Encoder)
관련 문제
- 1. 액세스 제어를 존중하면서 REST API 용 SQLAlchemy 모델을 직렬화 하시겠습니까?
- 2. 다형성 DataContracts가있는 REST - 역 직렬화 실패
- 3. SqlAlchemy 및 SqlAlchemy-migrate로 시드 데이터 관리
- 4. SQLAlchemy IntegrityError
- 5. django와 sqlalchemy
- 6. SQLAlchemy 쿼리
- 7. SqlAlchemy IntegrityError
- 8. Python SqlAlchemy Pass 직렬화보기 문제
- 9. SQLAlchemy : 결과에서 조작
- 10. Python SQLAlchemy/Elixer 질문
- 11. sqlalchemy, 모든 행 선택
- 12. 테이블 자체의 SQLAlchemy mapped_collection?
- 13. SQLAlchemy 및 스칼라 값
- 14. SQLAlchemy unit voes unittest
- 15. SQLAlchemy 커밋을위한 이상적인 디자인
- 16. sqlalchemy mysql 서버가 사라졌습니다.
- 17. SqlAlchemy 및 다중 처리
- 18. python sqlalchemy 성능?
- 19. SQLAlchemy EXISTS 쿼리 세트
- 20. sqlalchemy Oracle REF CURSOR
- 21. SQLAlchemy 및 복합 쿼리
- 22. 파이썬 SqlAlchemy order_by DateTime?
- 23. SQLAlchemy 집합에 색인 설정
- 24. Sqlalchemy 쿼리가 커밋되지 않습니다.
- 25. sqlalchemy natural sorting
- 26. SQLAlchemy : 목록에서 동적으로 테이블로드
- 27. SQLAlchemy - MapperExtension.before_delete가 호출되지 않았습니다.
- 28. SQLAlchemy - 태그의 사전
- 29. sqlalchemy 컴파일러 질문
- 30. sqlalchemy + mysql 교착 상태
내가 원하는 것을 보여줍니다 에 http : //의 bitbucket .org/ee_lars/resttest 코드가 정말 못생긴다. 직렬화는 고전적인 필드 (Integer, Unicode, Boolean ..)에서는 괜찮지 만, 외래 키를 다루는 방법을 찾지 못했다. 필드가 특정 모델 (모델의 매퍼 (mapper)에서 나온 것임)을 감지하고 관련 모델의 URI를 직렬화 된 리소스의 링크로 두는 것이 가능하다고 생각합니다. 어쨌든 나는 그것을 할 수있는 방법에 대한 생각이 없습니다 : 어떤 가능성/아이디어 ??? 감사. –