Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Models
- #User table
- class User(db.Model):
- id= db.Column(db.Integer, primary_key=True)
- username= db.Column(db.String(80), unique=True, nullable=False)
- email= db.Column(db.String(120), unique=True, nullable=False)
- events= db.relationship('Event', backref='user')
- password = db.Column(db.String(80), nullable=False)
- def is_active(self):
- #True, as all users are active."""
- return True
- def get_id(self):
- return self.id
- def is_authenticated(self):
- """Return True if the user is authenticated."""
- return self.authenticated
- def is_anonymous(self):
- """False, as anonymous users aren't supported."""
- return False
- #Event Table
- class Event(db.Model):
- id = db.Column(db.Integer, primary_key=True)
- event_name = db.Column(db.String(200), nullable=False)
- event_date = db.Column(db.Date())#yyyy-MM-dd
- event_time = db.Column(db.Time(timezone=False))
- event_location = db.Column(db.String(150))
- event_description = db.Column(db.String(200))
- event_type = db.Column(db.String(30), nullable=False)
- user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
- lists = db.relationship('List', cascade='all,delete', backref='event')
- class List(db.Model):
- id = db.Column(db.Integer, primary_key=True)
- event_id = db.Column(db.Integer, db.ForeignKey('event.id'))
- items = db.relationship('Item', cascade='all,delete', backref='list')
- class Item(db.Model):
- id = db.Column(db.Integer, primary_key=True)
- item_name = db.Column(db.String(250), nullable=False)
- business = db.Column(db.String(500))
- list_id = db.Column(db.Integer, db.ForeignKey('list.id'))
- #Schemas
- class UserSchema(ma.ModelSchema):
- events = fields.Nested('EventSchema', many=True)
- class Meta:
- # ordered = True
- model = User
- class EventSchema(ma.ModelSchema):
- lists = fields.Nested('ListSchema', many=True)
- class Meta:
- # ordered = True
- model = Event
- exclude = ('id', 'user_id', 'user')
- class ListSchema(ma.ModelSchema):
- items = fields.Nested('ItemSchema', many=True)
- class Meta:
- model = List
- exclude = ('id','event_id')
- class ItemSchema(ma.ModelSchema):
- class Meta:
- model = Item
- exclude = ('list_id','id')
Add Comment
Please, Sign In to add comment