Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1from datetime import datetime 

2 

3from src import db 

4 

5 

6class Event(object): 

7 id = db.Column(db.Integer, primary_key=True, autoincrement=True) 

8 occured_at = db.Column(db.DateTime, nullable=False, 

9 default=datetime.utcnow) 

10 # occured_by = user_id (but not a FK) 

11 occured_by = db.Column(db.Integer, default=None) 

12 object_id = db.Column(db.Integer, nullable=False) 

13 

14 

15class ChangedEvent(Event, db.Model): 

16 __tablename__ = "changed_event" 

17 

18 model_name = db.Column(db.String, nullable=False) 

19 attribute_name = db.Column(db.String, nullable=False) 

20 new_value = db.Column(db.Text, default=None) 

21 

22 

23class DeletionEvent(Event, db.Model): 

24 __tablename__ = "deletion_event" 

25 

26 model_name = db.Column(db.String, nullable=False) 

27 

28 def delete(self): 

29 return self.__table__.insert().values( 

30 object_id=self.content_id, 

31 model_name=self.model_name, 

32 )