Package description here.
Project description
Note: This package is in the dangerous land of
0.x.y
versions and may be subject to breaking changes with minor version increments.
nr.utils.ponyorm
Utilities for Pony ORM.
Composable databases
Applications with plugin interfaces may choose to allow the use of a common
database, accessed via the same Pony ORM database object. The
nr.utils.ponyorm.appdb
provides classes to allow just that.
Example:
from nr.utils.ponyorm.appdb import AppDatabase, Optional, Required
appdb = AppDatabase(__name__)
class Person(appdb.Entity):
name = Required(str)
# etc. etc.
Then from the application startup logic:
from pony.orm import Database
db = Database()
for appdb in load_all_application_databases(): # ominous functions
appdb.bind_to(db)
db.generate_mapping(create_tables=True)
Common converters
Provides common converter implementations that are not built into Pony ORM.
All converters can be registered via AppDatabase.register_converter(converter_cls)
or with nr.utils.ponyorm.converters.register_converter(db, converter_cls)
.
Available converters are
EnumConverter
Utility functions
get_db(entity)
get_one(entity_cls, kwargs)
get_or_create(entity_cls, get, set=None)
upsert(entity_cls, get, set=None, mutate=True)
Copyright © 2020 Niklas Rosenstein
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for nr.utils.ponyorm-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 766c966192d118b7a59aa70fcb64c252a6c74355fb55b4489acc5c028def596e |
|
MD5 | c2d8d19fe1395c6af1ba6c53aac353e4 |
|
BLAKE2b-256 | a5bc5006dfa21c4530e7881386903ef9637664eeef80ab071a2afaa61bd75de4 |