def setUp(self): self.engine = create_engine('sqlite:///:memory:', echo=True) self.Base = declarative_base(self.engine) self.session_handler = ScopedSessionHandler(self.engine) self.session = Session(self.engine) class One(self.Base): __tablename__ = 'one' id = Column(Integer, primary_key=True) value = Column(String(length=50)) manies = relationship("Many", backref='one') class Many(self.Base): __tablename__ = 'many' id = Column(Integer, primary_key=True) many_value = Column(String(length=50)) one_id = Column(Integer, ForeignKey('one.id')) class DefaultManager(AlchemyManager): session = self.session model = One fields = ['id', 'value', 'manies.id'] self.model = One self._manager = DefaultManager self.One = One self.Many = Many self.Base.metadata.create_all()
def setUp(self): self.engine = create_engine('sqlite:///:memory:', echo=True) self.Base = declarative_base(self.engine) self.session_handler = ScopedSessionHandler(self.engine) class MyModel(self.Base): __tablename__ = 'my_model' id = Column(Integer, primary_key=True) value = Column(String(length=63)) self.model = MyModel self.Base.metadata.create_all() class MyManager(AlchemyManager): model = self.model fields = ( 'id', 'value', ) paginate_by = 10 self.manager = MyManager(self.session_handler) class MyResource(restmixins.RetrieveList): manager = self.manager pks = ('id', ) resource_name = 'my_resource' self.resource = MyResource
def setUp(self): self.engine = create_engine('sqlite:///:memory:', echo=True) self.Base = declarative_base(self.engine) self.session_handler = ScopedSessionHandler(self.engine) self.session = Session(self.engine) class MyModel(self.Base): __tablename__ = 'my_model' id = Column(Integer, primary_key=True) big_integer = Column(BigInteger) boolean = Column(Boolean) date = Column(Date) date_time = Column(DateTime) enum = Column(Enum('one', 'two' 'three')) float = Column(Float) integer = Column(Integer) interval = Column(Interval) large_binary = Column(LargeBinary) numeric = Column(Numeric) pickle_type = Column(PickleType) small_integer = Column(SmallInteger) string = Column(String) text = Column(Text) time = Column(Time) unicode = Column(Unicode) unicode_text = Column(UnicodeText) self.model = MyModel self.Base.metadata.create_all() class ModelManager(AlchemyManager): model = self.model fields = [ 'id', 'big_integer', 'boolean', 'date', 'date_time', 'enum', 'float', 'integer', 'interval', 'large_binary', 'numeric', 'pickle_type', 'small_integer', 'string', 'text', 'time', 'unicode', 'unicode_text' ] self._manager = ModelManager
from __future__ import absolute_import from __future__ import division from __future__ import print_function from __future__ import unicode_literals import re from ripozo.resources.fields.common import StringField from ripozo_sqlalchemy import AlchemyManager, ScopedSessionHandler from common.models import engine, Post, Comment session_handler = ScopedSessionHandler(engine) class PostManager(AlchemyManager): model = Post fields = ( 'id', 'username', 'post_text', 'comments.id', ) create_fields = ( 'username', 'post_text', ) _field_validators = { 'username': StringField('username', minimum=3, regex=re.compile(r'^[a-zA-Z0-9]+$')) }
def manager(self): session_handler = ScopedSessionHandler(self.engine) return PersonManager(session_handler)
def setUp(self): self.engine = create_engine('sqlite:///:memory:') self.session_handler = ScopedSessionHandler(self.engine) Base.metadata.create_all(self.engine)
def manager(self): session_handler = ScopedSessionHandler(self.engine) self.session_handler = session_handler self.session = self.session_handler.get_session() return self._manager(self.session_handler)