Guest User

Untitled

a guest
Jul 30th, 2018
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.09 KB | None | 0 0
  1. from sqlalchemy import create_engine, MetaData, Table, Column, ForeignKey
  2. from sqlalchemy.dialects.mysql.base import VARCHAR, LONGTEXT, INTEGER
  3. from sqlalchemy.orm import sessionmaker
  4. from sqlalchemy.ext.declarative import declarative_base
  5.  
  6. engine = create_engine("mysql+mysqldb://root:@localhost/mydb")
  7. connection = engine.connect()
  8.  
  9. Session = sessionmaker(bind=engine)
  10. session = Session()
  11. Base = declarative_base()
  12. metadata = MetaData()
  13.  
  14. class User(Base):
  15. __tablename__ = 'User'
  16. __abstract__ = True
  17. id = Column('id', INTEGER(display_width=11), primary_key=True, nullable=False)
  18. email = Column('email', VARCHAR(charset='utf8mb4', collation='utf8mb4_0900_ai_ci', length=100), unique=True)
  19. password = Column('password', VARCHAR(charset='utf8mb4', collation='utf8mb4_0900_ai_ci', length=45))
  20. name = Column('name', VARCHAR(charset='utf8mb4', collation='utf8mb4_0900_ai_ci', length=100))
  21.  
  22. Base.metadata.create_all(engine)
  23.  
  24. add_user = User(email = "testing@testing.com",
  25. password = 'testing',
  26. name = 'testing')
  27. session.add(add_user)
  28. session.commit()
  29.  
  30. AttributeError: 'User' object has no attribute '_sa_instance_state'
  31.  
  32. During handling of the above exception, another exception occurred:
  33.  
  34. raise exc.UnmappedInstanceError(instance)
  35. sqlalchemy.orm.exc.UnmappedInstanceError: Class '__main__.User' is not mapped
  36.  
  37. class User(Base):
  38. __tablename__ = 'User'
  39. __abstract__ = True
  40. id = Column('id', INTEGER(display_width=11), primary_key=True, nullable=False)
  41. email = Column('email', VARCHAR(charset='utf8mb4', collation='utf8mb4_0900_ai_ci', length=100), unique=True)
  42. password = Column('password', VARCHAR(charset='utf8mb4', collation='utf8mb4_0900_ai_ci', length=45))
  43. name = Column('name', VARCHAR(charset='utf8mb4', collation='utf8mb4_0900_ai_ci', length=100))
  44.  
  45. class AUser(User):
  46. pass
  47.  
  48. if __name__ == '__main__':
  49. Base.metadata.drop_all(bind=engine)
  50. Base.metadata.create_all(bind=engine)
  51.  
  52. add_user = AUser(email = "testing@testing.com",
  53. password = 'testing',
  54. name = 'testing')
  55. session.add(add_user)
  56. session.commit()
Add Comment
Please, Sign In to add comment