I can do this to set column type to be unique string :
uuid = Column(String, default=lambda: str(uuid.uuid4()), unique=True)
but I want to generate random-unique-integer, not random-unique-string.
any idea how to do that ?
uuid.uuid4().int
thanks. If I can respecify :) is there a way to fit it into DB Integer type.
from random import randint
def random_integer():
min_ = 100
max_ = 1000000000
rand = randint(min_, max_)
# possibility of same random number is very low.
# but if you want to make sure, here you can check id exists in database.
from sqlalchemy.orm import sessionmaker
db_session_maker = sessionmaker(bind=your_db_engine)
db_session = db_session_maker()
while db_session.query(Table).filter(uuid == rand).limit(1).first() is not None:
rand = randint(min_, max_)
return rand
class Table(Base):
uuid = Column(String, default=random_integer, unique=True)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With