Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2012
620
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.90 KB | None | 0 0
  1. class CreatedMixin(object):
  2.     @declared_attr
  3.     def created_by(cls):
  4.         return Column(Integer, ForeignKey('user.user_id',
  5.                   onupdate="cascade", ondelete="restrict"))
  6.  
  7.     @declared_attr
  8.     def updated_by(cls):
  9.         return Column(Integer, ForeignKey('user.user_id',
  10.                       onupdate="cascade", ondelete="restrict"))
  11.  
  12.     created_at = Column(DateTime, nullable=False, default=dt.now())
  13.     updated_at = Column(DateTime, nullable=False, default=dt.now(),
  14.                         onupdate=dt.now())
  15.  
  16. class LogMixin(CreatedMixin, DeclarativeBase):
  17.     __tablename__ = 'ttt'
  18.  
  19. event.listen(LogMixin, 'before_insert', created_by)
  20. event.listen(LogMixin, 'before_update', updated_by)
  21.  
  22. class Net(LogMixin):
  23.     """Net or subnet
  24.    """
  25.     __tablename__ = 'net'
  26.  
  27.     cidr = Column(postgresql.CIDR, index = True, unique = True)
  28.     description = Column(UnicodeText())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement