Overview

EasyCouch – ORM объертка вокруг python-couchdb.

Основные отличия:

  • возможность хранения любых объектов
  • удобная работа с дизайн-документами и видами
  • одновременная работа с несколькими базами данных одновременно с возможностью задания псевдонимов (удобно при тестировании)

from easycouch import Mapper, EasyCouch, Design, View from easycouch.properties import DateTimeProperty

class BlogPost(object):
doctype = "blogpost"
class BlogPostMapper(Mapper):
created_at = DateTimeProperty(auto_now_create = True)
class MyDesign(Design)
all_posts = View('function (doc) { emit(doc._id, None) }')

couch = EasyCouch(db_map={'one': 'db_one_test', 'two': 'db_two_test'}) db = couch.one db.register_mapper(BlogPost, BlogPostMapper) db.register_design("test_design", MyDesign()) bp = BlogPost() bp.title = "EasyCouch Test" db.store(bp) couch.two.store(bp) db.commit() bp2 = db.test_design.all_posts[bp._id].one()