class Post(db.Model): id = db.Column(db.Integer, primary_key = True) title = db.Column(db.String(200)) content = db.Column(db.String(500)) date_created = db.Column(db.DateTime, nullable = False, default = datetime.utcnow) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable = False) def __repr__(self): return "The Title is {} and the user is {}".format(self.title, self.user_id)
class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key = True) #Like an SSN for each user username = db.Column(db.String(150), nullable = False) email = db.Column(db.String(150), unique = True, nullable = False) password = db.Column(db.String(256), nullable = False) #db.String(256) means there's a max length of 256 post = db.relationship('Post', backref = 'author', lazy = True) def __init__(self,username,email,password): self.username = username self.email = email self.password = self.set_password(password) def set_password(self, password): self.pw_hash = generate_password_hash(password,salt_length=10) return self.pw_hash def __repr__(self): return '{} has been created'.format(self.username)