Metadata-Version: 2.0
Name: baka-tenshi
Version: 1.0.3
Summary: Baka: Skeleton framework built top of pyramid, baka_tenshi for sqlalchemy
Home-page: https://github.com/baka-framework/baka_tenshi
Author: Nanang Suryadi
Author-email: nanang.jobs@gmail.com
License: MIT
Download-URL: https://github.com/baka-framework/baka_tenshi/archive/1.0.0.tar.gz
Keywords: model,sqlalchemy,framework
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Framework :: Pyramid
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Operating System :: OS Independent
Requires-Dist: setuptools
Requires-Dist: trafaret
Requires-Dist: pyramid
Requires-Dist: sqlalchemy
Requires-Dist: zope.sqlalchemy
Requires-Dist: transaction
Requires-Dist: pyramid-retry
Requires-Dist: pyramid-tm
Requires-Dist: awesome-slugify
Requires-Dist: bcrypt

Baka model add-ons
==================

`Baka_tenshi <https://github.com/suryakencana/Baka_tenshi>`_. is add-ons baka framework built top of pyramid that provides an SQLAlchemy
declarative ``Base`` alias model.Model and a add method on ``request.db``.


Usage
-----

You can use these as base classes for declarative model definitions, e.g.

.. code:: python

    from base_model.model import Model

        class MyModel(Model):
        """Example model class."""

        __tablename__ = 'base.mymodel'

        @classmethod
        def do_first(cls, session):
            instance = session.query(cls).first()


Register Model
--------------

using Baka_tenshi, you can apply dependency injection method for model that has been created.

.. code:: python

    def includeme(config):
        config.register_model('base.MyModel')


    # in view handler request
    @route('/my.model', renderer='json')
    def view_mymodel(request):
        MyModel = request.find_model('base.mymodel')
        mymodel = MyModel()
        mymodel.name = 'user model'
        mymodel.address = 'user address'
        mymodel.phone = '0089800-998'
        request.db.add(mymodel)

        return {'success': True}


Install
-------

Install with ``.ini`` file

.. code:: bash
    pyramid.includes =
        Baka_tenshi
        pyramid_debugtoolbar
        pyramid_mailer


Install with code

.. code:: python

    def includeme(config):
        config.include('Baka_tenshi')

