Advertisement
Guest User

Untitled

a guest
Dec 12th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  1. import random
  2. import string
  3.  
  4. import sqlalchemy
  5. from sqlalchemy import Column, Integer, String
  6. from sqlalchemy.ext.declarative import declarative_base
  7. from sqlalchemy.orm import sessionmaker
  8. from starlette.applications import Starlette
  9. from starlette.responses import JSONResponse
  10. from starlette.routing import Route
  11.  
  12. e = sqlalchemy.create_engine(
  13. "postgresql+psycopg2://mednote:aoeusnth@localhost:5432/mednote_dev",
  14. pool_size=20,
  15. max_overflow=0,
  16. )
  17. Session = sessionmaker()
  18. Session.configure(bind=e)
  19.  
  20. Base = declarative_base()
  21.  
  22.  
  23. class Account(Base):
  24. __tablename__ = "account"
  25. user_id = Column(Integer, primary_key=True)
  26. username = Column(String(50))
  27.  
  28. def __repr__(self):
  29. return f"<User(name='{self.username}')>"
  30.  
  31.  
  32. async def test_sa_select(request):
  33. session = Session()
  34. letters = string.ascii_lowercase
  35. random_name = "".join(random.choice(letters) for i in range(50))
  36. user = session.query(Account).filter_by(username=random_name).first()
  37. if user:
  38. return JSONResponse({"hello": user.username})
  39. else:
  40. return JSONResponse({"hello": "anonymous"})
  41.  
  42.  
  43. async def test_sa_insert(request):
  44. session = Session()
  45. letters = string.ascii_lowercase
  46. random_name = "".join(random.choice(letters) for i in range(50))
  47. user = Account(username=random_name)
  48. session.commit()
  49. return JSONResponse({"born": user.username})
  50.  
  51.  
  52. routes = [
  53. Route("/test_sa_insert", test_sa_insert),
  54. Route("/test_sa_select", test_sa_select),
  55. ]
  56.  
  57. app = Starlette(debug=False, routes=routes,)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement