Advertisement
Guest User

Untitled

a guest
Jun 24th, 2011
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.34 KB | None | 0 0
  1. #!/usr/bin/python
  2.  
  3. from sqlalchemy import create_engine, MetaData, Column, Integer, String, Boolean, Unicode, Float, ForeignKey, DateTime
  4. from sqlalchemy.orm import relationship, backref
  5. from sqlalchemy.ext.declarative import declarative_base
  6. from sqlalchemy.orm import sessionmaker
  7.  
  8. db = create_engine('sqlite:///:memory:', echo=True)
  9.  
  10. Base = declarative_base(db)
  11. metadata = Base.metadata
  12.  
  13. Session = sessionmaker(db)
  14.  
  15. class Blog(Base):
  16.     __tablename__ = 'blogs'
  17.  
  18.     id = Column(Integer, primary_key=True)
  19.  
  20.     def __init__(self):
  21.         pass
  22.  
  23. class Post(Base):
  24.     __tablename__ = 'posts'
  25.  
  26.     id = Column(Integer, primary_key=True)
  27.     blog_id = Column(Integer, ForeignKey(Blog.id))
  28.  
  29.     blog = relationship(Blog, backref='posts')
  30.  
  31.     def __init__(self, blog):
  32.         self.blog = blog
  33.  
  34. class Comment(Base):
  35.     __tablename__ = 'comments'
  36.  
  37.     id = Column(Integer, primary_key=True)
  38.     post_id = Column(Integer, ForeignKey(Post.id))
  39.  
  40.     post = relationship(Post, backref='comments')
  41.  
  42.     def __init__(self, post):
  43.         self.post = post
  44.  
  45. metadata.create_all()
  46.  
  47. session = Session()
  48.  
  49. b1 = Blog()
  50. b2 = Blog()
  51. session.add(b1)
  52. session.add(b2)
  53.  
  54. p1 = Post(b1)
  55. p2 = Post(b1)
  56. p3 = Post(b2)
  57.  
  58. c1 = Comment(p1)
  59. c2 = Comment(p1)
  60. c3 = Comment(p2)
  61. c4 = Comment(p3)
  62. c5 = Comment(p3)
  63.  
  64. session.commit()
  65. session.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement