Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from sqlalchemy import create_engine
- from sqlalchemy.orm import sessionmaker, relationship
- from sqlalchemy.ext.declarative import declarative_base
- from datetime import datetime
- from sqlalchemy import Column, Integer, String, DateTime, Float, ForeignKey, Table
- engine = create_engine('postgresql://ubuntu:thinkful@localhost:5432/tbay')
- Session = sessionmaker(bind=engine)
- session = Session()
- Base = declarative_base()
- ##Make sure that an item can be owned by one user.
- class Item(Base):
- __tablename__ = "items"
- itemid = Column(Integer, primary_key=True)
- name = Column(String, nullable=False)
- description = Column(String)
- start_time = Column(DateTime, default=datetime.utcnow)
- ownerid=Column(Integer, ForeignKey('users.userid'),
- nullable=False)
- bids = relationship("Bid", backref="items")
- ##User##
- class User(Base):
- __tablename__="users"
- userid = Column(Integer, primary_key=True)
- username = Column(String, nullable=False)
- password = Column(String, nullable=False)
- items = relationship("Item", backref="users")
- bids =relationship("Bid", backref="users")
- ##The bid is actually the table normalizing m:m relationships. ##
- class Bid(Base):
- __tablename__="bids"
- bidid = Column(Integer, primary_key=True)
- price= Column(Float, nullable=False)
- bidderid = Column(Integer, ForeignKey('users.userid'), nullable=False)
- biditem = Column(Integer, ForeignKey('items.itemid'), nullable=False)
- items = relationship("Item", backref="bids")
- users = relationship("User",backref="bids")
- Base.metadata.create_all(engine)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement