Guest User

Untitled

a guest
May 29th, 2018
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1. from sqlalchemy import Column, Integer, String, ForeignKey
  2. from sqlalchemy import create_engine
  3. from sqlalchemy.ext.declarative import declarative_base
  4. from sqlalchemy.orm import backref, mapper, relation, sessionmaker
  5.  
  6. Base = declarative_base()
  7.  
  8. ########################################################################
  9. class User(Base):
  10. """"""
  11. __tablename__ = "users"
  12.  
  13. id = Column(Integer, primary_key=True)
  14. name = Column(String)
  15. fullname = Column(String)
  16. password = Column(String)
  17.  
  18. #----------------------------------------------------------------------
  19. def __init__(self, name, fullname, password):
  20. """Constructor"""
  21. self.name = name
  22. self.fullname = fullname
  23. self.password = password
  24.  
  25. def __repr__(self):
  26. return "<User('%s','%s', '%s')>" % (self.name, self.fullname, self.password)
  27.  
  28. ########################################################################
  29. class Address(Base):
  30. """
  31. Address Class
  32.  
  33. Create some class properties before initilization
  34. """
  35. __tablename__ = "addresses"
  36. id = Column(Integer, primary_key=True)
  37. email_address = Column(String, nullable=False)
  38. user_id = Column(Integer, ForeignKey('users.id'))
  39.  
  40. # creates a bidirectional relationship
  41. # from Address to User it's Many-to-One
  42. # from User to Address it's One-to-Many
  43. user = relation(User, backref=backref('addresses', order_by=id))
  44.  
  45. #----------------------------------------------------------------------
  46. def __init__(self, email_address):
  47. """Constructor"""
  48. self.email_address = email_address
  49.  
  50. def __repr__(self):
  51. return "<Address('%s')>" % self.email_address
  52.  
  53.  
  54. # create a connection to a sqlite database
  55. # turn echo on to see the auto-generated SQL
  56. engine = create_engine("sqlite:///tutorial.db", echo=True)
  57.  
  58. # get a handle on the table object
  59. users_table = User.__table__
  60. # get a handle on the metadata
  61. metadata = Base.metadata
  62. metadata.create_all(engine)
  63.  
  64. mike_user = User("mike", "Mike Driscoll", "password")
  65. print "User name: %s, fullname: %s, password: %s" % (mike_user.name,
  66. mike_user.fullname,
  67. mike_user.password)
  68. Session = sessionmaker(bind=engine)
  69. session = Session()
  70. # session.add(a)
  71. # a.addresses = ["andrea.crotti.0@gmail.com", "kerny404@gmail.com"]
  72. # session.commit()
Add Comment
Please, Sign In to add comment