Metadata-Version: 2.0
Name: baka-model
Version: 0.17.7
Summary: Baka: Skeleton framework built top of pyramid, baka_model for sqlalchemy
Home-page: https://github.com/suryakencana/baka_model
Author: Nanang Suryadi
Author-email: nanang.jobs@gmail.com
License: MIT
Download-URL: https://github.com/suryakencana/baka_model/archive/0.17.1.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: awesome-slugify
Requires-Dist: bcrypt
Requires-Dist: psycopg2
Requires-Dist: pyramid
Requires-Dist: pyramid-tm
Requires-Dist: python-dateutil
Requires-Dist: python-dateutil
Requires-Dist: setuptools
Requires-Dist: sqlalchemy
Requires-Dist: sqlalchemy-utils
Requires-Dist: transaction
Requires-Dist: zope.sqlalchemy

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

`Baka_model <https://github.com/suryakencana/baka_model>`_. 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_model, 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
::
    pyramid.includes =
        baka_model
        pyramid_debugtoolbar
        pyramid_mailer

Install with code
.. code:: python
    def includeme(config):
        config.include('baka_model')



