当前位置:   article > 正文

111.SQLAlchemy中别名的使用_sqlalchemy 别名

sqlalchemy 别名
  1. from random import randint, choice
  2. from unicodedata import name
  3. from sqlalchemy import Column, Integer, String, func, and_
  4. from util_db import Base, Session
  5. class City(Base):
  6. __tablename__ = 't_city'
  7. id = Column(Integer, primary_key=True, autoincrement=True)
  8. name = Column(String(32))
  9. pid = Column(Integer)
  10. def __repr__(self) -> str:
  11. return f'<City: id={self.id} name={self.name} pid={self.pid}>'
  12. def create_data():
  13. Base.metadata.drop_all()
  14. Base.metadata.create_all()
  15. city1 = City(id=1, name="河北省", pid = 0)
  16. city2 = City(id=10, name="石家庄", pid = 1)
  17. city3 = City(id=11, name="天津市", pid = 1)
  18. city4 = City(id=2, name="广东省", pid = 0)
  19. city5 = City(id=21, name="深圳市", pid = 2)
  20. city6 = City(id=22, name="广州市", pid = 2)
  21. with Session() as ses:
  22. ses.add(city1)
  23. ses.add(city2)
  24. ses.add(city3)
  25. ses.add(city4)
  26. ses.add(city5)
  27. ses.add(city6)
  28. ses.commit()
  29. # 查询每个省下有什么城市,pid的定义与所在城市id相同
  30. def query_data():
  31. from sqlalchemy.orm import aliased
  32. # 给City取别名为c
  33. c= aliased(City)
  34. with Session() as ses:
  35. rs = ses.query(City,c.name,c.id).join(c,c.pid == City.id).all()
  36. for i in rs:
  37. print(i)
  38. if __name__ == "__main__":
  39. create_data()
  40. query_data()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/510789
推荐阅读
相关标签
  

闽ICP备14008679号