2013-06-27 4 views
1

옵션 인 ORM 기능을 가진 클래스를 만드는 방법을 알아야합니다. 가끔은 데이터베이스에 저장해야 할 때도 있고, 그렇지 않을 때도 있습니다. (나는 아무 관계도 없을 것이다).데이터베이스 연결없이 사용할 수있는 파이썬 ORM 라이브러리

예를 들어 SQLObject는 연결을 제공하지 않을 때 barfs를 사용하기 때문에 작동하지 않습니다. 따라서 연결없이 SQLObject를 사용할 수 있습니다.

하나의 옵션은 별도의 클래스를 정의하는 것입니다. 하나는 기본 클래스이고 다른 하나는 기본 클래스에서 상속되고 모든 원래 필드에 대한 설정자의 ORM 필드를 업데이트하는 ORM 클래스입니다. 이것은 큰 고통이 될 것입니다.

ORM 클래스를 정의 할 수있는 라이브러리를 알고 있지만 DB에서 저장하거나 가져올 필요가없는 사람은 누구입니까?

편집 : 좋아요. 웹을 크롤링하고 사람들과 좋아하는 색 양말 목록을 컴파일하는 스크립트가 있다고 가정합니다. 두 개의 클래스, Person 클래스 및 Sock 클래스가 있습니다. 이 스크립트는 처리 된 데이터 (Person 클래스와 Sock 클래스)를 csv, json 또는 기타 비 db 형식의 파일에 저장하거나 데이터베이스 (sqlite3, mysql)에 저장하는 옵션을 사용자에게 제공합니다 , 등).

+1

? 아니면 다른 데이터 소스로 감쌀 것입니까? – Blender

+0

예, 다른 소스를 중심으로 배치 할 예정입니다 (항상 그런 것은 아닙니다). –

+0

기본적으로 나는 ORM 타입을위한 클래스와 다른 용도를위한 클래스 두 가지 버전을 작성하고 싶지 않습니다. –

답변

0

나는 당신이 제안하고있는 것을 위해 sqlalchemy를 사용했다. 또한 사용 사례에 맞게 조정될 수있는 별도의 맵퍼를 작성할 수 있습니다. 두 개의 서로 다른 인터페이스에 대해서는 아래 두 링크를 참조하십시오.

선언 인터페이스 : http://docs.sqlalchemy.org/en/rel_0_8/orm/extensions/declarative.html

매퍼 : http://docs.sqlalchemy.org/en/rel_0_8/orm/mapper_config.html#classical-mapping 당신이 데이터베이스를 ORM의 포인트 사용하지 않다면 어떤