From 0a730ea1962522bf5fb2db41a87ac172dc51750e Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Sat, 31 Jan 2015 18:17:03 -0500 Subject: Add Interest models Two new models: * Interest * UserInterest (through model) These allow us to record interests/passions and associate them with users. --- app.py | 1 + modules/interest/__init__.py | 0 modules/interest/models.py | 21 +++++++++++++++++++++ modules/user/models.py | 3 +++ 4 files changed, 25 insertions(+) create mode 100644 modules/interest/__init__.py create mode 100644 modules/interest/models.py diff --git a/app.py b/app.py index 6e4402d..bea83f3 100644 --- a/app.py +++ b/app.py @@ -3,6 +3,7 @@ from flask import Flask from flask_user import SQLAlchemyAdapter, UserManager from modules.shared.models import db +from modules.interest.models import Interest, UserInterest from modules.user.models import User, UserAuth app = Flask(__name__) diff --git a/modules/interest/__init__.py b/modules/interest/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/modules/interest/models.py b/modules/interest/models.py new file mode 100644 index 0000000..d07ed7d --- /dev/null +++ b/modules/interest/models.py @@ -0,0 +1,21 @@ +from modules.shared.models import db + + +class Interest(db.Model): + id = db.Column(db.Integer, primary_key=True) + + name = db.Column(db.String(255), nullable=False, unique=True) + + created_at = db.Column(db.DateTime()) + updated_at = db.Column(db.DateTime()) + + +class UserInterest(db.Model): + id = db.Column(db.Integer, primary_key=True) + + user_id = db.Column(db.Integer, db.ForeignKey('user.id'), primary_key=True) + interest_id = db.Column(db.Integer, db.ForeignKey('interest.id'), + primary_key=True) + + created_at = db.Column(db.DateTime()) + updated_at = db.Column(db.DateTime()) diff --git a/modules/user/models.py b/modules/user/models.py index 0731a67..138651a 100644 --- a/modules/user/models.py +++ b/modules/user/models.py @@ -15,6 +15,9 @@ class User(db.Model): first_name = db.Column(db.String(50), nullable=False, default='') last_name = db.Column(db.String(50), nullable=False, default='') + interests = db.relationship('Interest', backref=db.backref('user', + lazy='dynamic')) + def is_active(self): return self.is_enabled -- cgit v1.2.3