Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from sqlalchemy import create_engine, Integer, String
- from sqlalchemy.ext.declarative import declarative_base
- from sqlalchemy.orm import sessionmaker, relationship
- from sqlalchemy.schema import Column, ForeignKey
- Base = declarative_base()
- class User(Base):
- __tablename__ = 'user'
- ID = Column(Integer, primary_key=True)
- name = Column(String(250), nullable=False)
- class Categories(Base):
- __tablename__ = 'categories'
- ID = Column(Integer, primary_key=True)
- name = Column(String(250), nullable=False)
- class Item(Base):
- __tablename__ = 'item'
- ID = Column(Integer, primary_key=True)
- name = Column(String(250), nullable=False)
- description = Column(String(250))
- price = Column(String(8))
- category_ID = Column(Integer, ForeignKey('categories.ID'))
- category = relationship(Categories)
- user_ID = Column(Integer, ForeignKey('user.ID'))
- user = relationship(User)
- engine = create_engine('sqlite:///:memory:', echo=True)
- Base.metadata.create_all(engine)
- Session = sessionmaker(bind=engine)
- session = Session()
- i = ('Maelstrom', '2800',
- 'A hammer forged for the gods themselves, '
- 'Maelstrom allows its user to harness the '
- 'power of lightning.',
- 'Attack Speed', "guberland")
- db_item = Item(
- name=i[0], price=i[1], description=i[2], category_ID=i[3],
- user_ID=i[4])
- session.add(db_item)
- session.commit()
- # doesn't fail with sqlite !???
- # but creates nonsensical data:
- #
- # sqlite> select * from item;
- # 1|Maelstrom|A hammer forged for the gods themselves, Maelstrom allows \
- # its user to harness the power of lightning.|2800|Attack Speed|guberland
- # sqlite> select * from user;
- # sqlite> select * from categories;
- # sqlite>
- #
Add Comment
Please, Sign In to add comment