fork download
  1. #!/usr/bin/env python3
  2. from sqlalchemy import *
  3. from sqlalchemy.orm import *
  4. from sqlalchemy.orm import mapper
  5.  
  6. class Base(DeclarativeBase):
  7. pass
  8.  
  9. class MyFriend(Base):
  10. __tablename__ = 'user'
  11.  
  12. id: Mapped[int] = mapped_column(primary_key = True)
  13. name: Mapped[str] = mapped_column(String(30))
  14. old: Mapped[int] = mapped_column(primary_key = True)
  15. address: Mapped[str] = mapped_column(String(30))
  16.  
  17. def __repr__(self):
  18. return f'User(id={self.id!r}, name={self.name!r}, id={self.id!r}, old={self.old!r}, address={self.address!r})'
  19.  
  20. engine = create_engine("sqlite://", echo = True)
  21. Base.metadata.create_all(engine)
  22.  
  23. with Session(engine) as session:
  24. Yamada = MyFriend(
  25. id = 1,
  26. name = 'Yamada',
  27. old = 19,
  28. address = 'Tokyo',
  29. )
  30. Mori = MyFriend(
  31. id = 3,
  32. name = 'Mori',
  33. old = 19,
  34. address = 'Kyoto',
  35. )
  36. Ueda = MyFriend(
  37. id = 5,
  38. name = 'Ueda',
  39. old = 19,
  40. address = 'Tokyo',
  41. )
  42. Mitsui = MyFriend(
  43. id = 6,
  44. name = 'Mitsui',
  45. old = 19,
  46. address = 'Nagoya',
  47. )
  48. session.add_all([Yamada, Mori, Ueda, Mitsui])
  49. session.commit()
  50. [print(friend) for friend in session.scalars(select(MyFriend))]
  51.  
Runtime error #stdin #stdout #stderr 0.43s 39904KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Traceback (most recent call last):
  File "./prog.py", line 6, in <module>
NameError: name 'DeclarativeBase' is not defined