easy create nested models for sqlalchemy
Project description
sqlalchemy-nest
sqlalchemy-nest is easy create nested models for sqlalchemy
Getting started
-
Installation
pip install sqlalchemy-nest
-
Set declarative_base constructor
use
declarative_nested_model_constructor
for declarative_base constructorfrom sqlalchemy import Column, ForeignKey, Integer, String from sqlalchemy.orm import declarative_base, relationship from sqlalchemy_nest import declarative_nested_model_constructor Base = declarative_base(constructor=declarative_nested_model_constructor) class Root(Base): __tablename__ = "root" id = Column(Integer, primary_key=True, autoincrement=True) name = Column(String(100)) branches = relationship("Branch", back_populates="root", uselist=True, lazy="joined") class Branch(Base): __tablename__ = "branch" id = Column(Integer, primary_key=True, autoincrement=True) name = Column(String(100)) root_id = Column(Integer, ForeignKey("root.id")) root = relationship("Root")
-
Initialization from **kwargs
sets attributes on the constructed instance using the names and values in kwargs.
root = { 'name': 'root', 'branches': [ { 'name': 'branch', }, ] } >>> session.add(Root(**root)) >>> session.commit() >>> added_root: Root = session.query(Root).filter(Root.id == 1).first() Root(id=1, name='root', branches=[Branch(id=1, name='branch', root_id=1)])
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
sqlalchemy-nest-1.0.1.tar.gz
(4.9 kB
view hashes)
Built Distribution
Close
Hashes for sqlalchemy_nest-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 798cd7b64e915e2891439de584439f6926d1fbacc860626851d7ba8f9c4e5392 |
|
MD5 | 12244d0daac132eb648461ae7e465074 |
|
BLAKE2b-256 | a47c557428de74d798cec506fab45938518e0b771be85f1826f2b3d983a7be11 |