Skip to main content

Extended SQLAlchemy declarative_base class

Project description


This package provides an extended Base class for your SQLAlchemy classes.
What this class proposes:
* the __tablename__ to create/use for the class is automatically defined by class.__name__.lower().
* it adds a property pk_id which returns the value of the primary key for the object.
* it attaches a query object to the class which is a shortcut to session.query(class).
* Function which returns all the DB entry in a HTML table
* Function to edit/add new entry as a HTML form

Example of usage::

import sqlalchemy as sa
from sqlalchemy.orm import (
from zope.sqlalchemy import ZopeTransactionExtension
from sqla_declarative import extended_declarative_base

session = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))
Base = extended_declarative_base(

class Test1(Base):
id = sa.Column(sa.Integer, primary_key=True)
name = sa.Column(sa.String(50))

bob = Test1(name='Bob')

# pk_id detects automatically the primary key and returns it value
bob.pk_id == 1
# Easy querying. For example: == bob

# To see all the existing entry as HTML

# To add/update a new entry as HTML
widget = Test1.edit_form()

Project details

Download files

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

Files for sqla_declarative, version 0.2
Filename, size File type Python version Upload date Hashes
Filename, size sqla_declarative-0.2.tar.gz (3.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page