No project description provided
Project description
sqlalchemy GUID
This is a simple extension to SQLAlchemy that adds support for UUID with postgresql compatibility to other database dialects.
Installation
pip install sqlalchemy_guid
Usage
Basically, you just need to import the GUID type and use it in your models:
import uuid
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer
from sqlalchemy_guid import GUID
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
guid = Column(GUID, default=uuid.uuid4)
For postgresql it will use the native uuid type, for other database dialects it will use a CHAR(32), storing as stringified hex values.
Now, when you create a new user, the guid will be automatically generated:
user = User()
session.add(user)
session.commit()
print(user.guid)
It will also work with other database dialects, such as sqlite:
from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:')
Base.metadata.create_all(engine)
session = Session(engine)
user = User()
session.add(user)
session.commit()
print(user.guid)
More sqlite examples can be found in the tests.
License
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
sqlalchemy_guid-1.0.2.tar.gz
(2.7 kB
view hashes)
Built Distribution
Close
Hashes for sqlalchemy_guid-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fab74417854ec82e0d8902dc0446350ca9c15f16444354db58da69835356be5d |
|
MD5 | f1a3acdcc396ac0688fd530c2228aef6 |
|
BLAKE2b-256 | acd2d2a4ead34b8eb01062e3f047953ebc607991cf5bf5719bf4e4852263afa2 |