Advertisement
Guest User

Untitled

a guest
May 16th, 2017
588
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. from sqlalchemy import create_engine
  2. from sqlalchemy import Table, Column, Integer, String, MetaData, ForeignKey
  3. from sqlalchemy.ext.declarative import declarative_base
  4. from sqlalchemy.orm import sessionmaker,scoped_session
  5. from sqlalchemy import ForeignKey
  6. from sqlalchemy.orm import relationship, backref
  7.  
  8. engine = create_engine('mysql://root:@localhost/test?charset=utf8&use_unicode=0', echo=True)
  9.  
  10. Session = scoped_session(sessionmaker(autocommit=False,
  11. autoflush=False,
  12. bind=engine))
  13. metadata = MetaData()
  14. metadata.create_all(engine)
  15.  
  16. Base = declarative_base(metadata=metadata)
  17.  
  18. session = Session()
  19.  
  20. class User(Base):
  21. __tablename__ = 'users'
  22.  
  23. id = Column(Integer, primary_key=True)
  24. name = Column(String)
  25. fullname = Column(String)
  26. password = Column(String)
  27.  
  28. def __init__(self, name, fullname, password):
  29. self.name = name
  30. self.fullname = fullname
  31. self.password = password
  32.  
  33. def __repr__(self):
  34. return "<User('%s','%s', '%s')>" % (self.name, self.fullname, self.password)
  35.  
  36.  
  37. class Address(Base):
  38. __tablename__ = 'addresses'
  39. id = Column(Integer, primary_key=True)
  40. email_address = Column(String, nullable=False)
  41. user_id = Column(Integer, ForeignKey('users.id'))
  42.  
  43. user = relationship(User, backref=backref('addresses', order_by=id))
  44.  
  45. def __init__(self, email_address):
  46. self.email_address = email_address
  47.  
  48. def __repr__(self):
  49. return "<Address('%s')>" % self.email_address
  50.  
  51. jack = User('jack', 'Jack Bean', 'gjffdd')
  52. jack.addresses = [Address(email_address='jack@google.com'), Address(email_address='j25@yahoo.com')]
  53. print jack.addresses
  54. session.add(jack)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement