Advertisement
Guest User

Untitled

a guest
Apr 4th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. from sqlalchemy import create_engine
  2. from sqlalchemy.orm import sessionmaker, relationship
  3. from sqlalchemy.ext.declarative import declarative_base
  4. from datetime import datetime
  5. from sqlalchemy import Column, Integer, String, DateTime, Float, ForeignKey, Table
  6.  
  7.  
  8. engine = create_engine('postgresql://ubuntu:thinkful@localhost:5432/tbay')
  9. Session = sessionmaker(bind=engine)
  10. session = Session()
  11. Base = declarative_base()
  12.  
  13. ##Make sure that an item can be owned by one user.
  14. class Item(Base):
  15. __tablename__ = "items"
  16.  
  17. itemid = Column(Integer, primary_key=True)
  18. name = Column(String, nullable=False)
  19. description = Column(String)
  20. start_time = Column(DateTime, default=datetime.utcnow)
  21.  
  22. ownerid=Column(Integer, ForeignKey('users.userid'),
  23. nullable=False)
  24. bids = relationship("Bid", backref="items")
  25.  
  26. ##User##
  27. class User(Base):
  28. __tablename__="users"
  29.  
  30. userid = Column(Integer, primary_key=True)
  31. username = Column(String, nullable=False)
  32. password = Column(String, nullable=False)
  33.  
  34. items = relationship("Item", backref="users")
  35. bids =relationship("Bid", backref="users")
  36.  
  37. ##The bid is actually the table normalizing m:m relationships. ##
  38. class Bid(Base):
  39. __tablename__="bids"
  40.  
  41. bidid = Column(Integer, primary_key=True)
  42. price= Column(Float, nullable=False)
  43.  
  44. bidderid = Column(Integer, ForeignKey('users.userid'), nullable=False)
  45. biditem = Column(Integer, ForeignKey('items.itemid'), nullable=False)
  46.  
  47. items = relationship("Item", backref="bids")
  48. users = relationship("User",backref="bids")
  49.  
  50.  
  51. Base.metadata.create_all(engine)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement