Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- import string
- import sqlalchemy
- from sqlalchemy import Column, Integer, String
- from sqlalchemy.ext.declarative import declarative_base
- from sqlalchemy.orm import sessionmaker
- from starlette.applications import Starlette
- from starlette.responses import JSONResponse
- from starlette.routing import Route
- e = sqlalchemy.create_engine(
- "postgresql+psycopg2://mednote:aoeusnth@localhost:5432/mednote_dev",
- pool_size=20,
- max_overflow=0,
- )
- Session = sessionmaker()
- Session.configure(bind=e)
- Base = declarative_base()
- class Account(Base):
- __tablename__ = "account"
- user_id = Column(Integer, primary_key=True)
- username = Column(String(50))
- def __repr__(self):
- return f"<User(name='{self.username}')>"
- async def test_sa_select(request):
- session = Session()
- letters = string.ascii_lowercase
- random_name = "".join(random.choice(letters) for i in range(50))
- user = session.query(Account).filter_by(username=random_name).first()
- if user:
- return JSONResponse({"hello": user.username})
- else:
- return JSONResponse({"hello": "anonymous"})
- async def test_sa_insert(request):
- session = Session()
- letters = string.ascii_lowercase
- random_name = "".join(random.choice(letters) for i in range(50))
- user = Account(username=random_name)
- session.commit()
- return JSONResponse({"born": user.username})
- routes = [
- Route("/test_sa_insert", test_sa_insert),
- Route("/test_sa_select", test_sa_select),
- ]
- app = Starlette(debug=False, routes=routes,)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement