Skip to main content

pyramid context to load SQLAlchemy model.

Project description

rebecca.sqla

rebecca.sqla is utility to load model made on SQLAlchemy.

INSTALL

Install using pip or easy_install:

$ pip install rebecca.sqla
$ easy_install rebeca.sqla

USAGE

rebecca.sql needs sqlalchemy.orm.scoped_session.

specify session object and dsn string in settings:

sqlalchemy.url = 'sqlite:///'
rebecca.sqla.session = your.app.models.DBSession

rebecca.sqla has include hook:

config.include("rebecca.sqla")

this hook sets up the bind configuration of DBSession to sqlalchemy.url.

ModelLoader and SAContext

rebecca.sqla creates attribute named “sa” to request.context. context.sa is SAContext to load models from ModelLoader registered by config.add_model_loader.

here is example models:

class Person(Base):
    __tablename__ = 'person'
    id = Column(Integer, primary_key=True)
    name = Column(Unicode(255))

and example route:

config.add_route('person', '/person/{person1_id}/{person2_id}')

register model loaders:

config.add_model_loader('person1', Person, [('person1_id', 'id')])
config.add_model_loader('person2', Person, [('person2_id', 'id')])

add_model_loader takes 3 arguments. first is attr name of SAContext, second is a model loaded from ModelLoader and last is mappings that matchdict param to model attribute.

second argument can be dotted name.

in view, context has SAContext named “sa” attribute, that has properties of registered models. ModelLoader s load model with query using matchdict parameters.

def person(context, request):
    person1 = context.sa.person1
    person2 = context.sa.person2

Contributors

  • Atsushi Odagiri, Original Author

Changelog

0.1 (2013-03-14)

  • first release

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rebecca.sqla-0.1.tar.gz (6.4 kB view details)

Uploaded Source

File details

Details for the file rebecca.sqla-0.1.tar.gz.

File metadata

  • Download URL: rebecca.sqla-0.1.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for rebecca.sqla-0.1.tar.gz
Algorithm Hash digest
SHA256 0f3a87e2186137d43b603cbc60658e1da48f5ea86aa79220bf2bb080cd70a911
MD5 884a34101d698c4e822dc206daad2511
BLAKE2b-256 d731d01c98a389e167283c45032212ab401adb715248f07dab6b649b754fa965

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page