class Post(db.Model): id = db.Column(db.Integer, primary_key=True) body = db.Column(db.String(140)) timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) def __repr__(self): return '<Post {}>'.format(self.body)
class Post(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(100), nullable=False) date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) content = db.Column(db.Text, nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) def __repr__(self): return f"Post('{self.title}', '{self.date_posted}')"
class Comment(db.Model): __tablename__ = "comments" id = db.Column(db.Integer, primary_key=True) comment = db.Column(db.Text, nullable=False) posted_date = db.Column(db.DateTime, default=datetime.utcnow, nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False) blog_id = db.Column(db.Integer, db.ForeignKey('blogs.id')) def save_comment(self): db.session.add(self) db.session.commit() @classmethod def get_comment(cls, id): comments = Comment.query.filter_by(post_id=id).all() return comments def __repr__(self): return f"Comment('{self.comment}', '{self.posted_date}')"
class Blog(db.Model): __tablename__ = "blogs" id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(100), nullable=False) date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) content = db.Column(db.Text, nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('users.id')) comments = db.relationship('Comment', backref='post', lazy=True) def __repr__(self): return f"Post('{self.title}', '{self.date_posted}')"
class Post(db.Model): __tablename__ = 'posts' id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(100), nullable=False) date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) content = db.Column(db.Text, nullable=False) post_image = db.Column(db.String()) #relationship user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False) def __repr__(self): return f"Post('{self.title}', '{self.date_posted}'"
class BlogPost(db.Model): __tablename__ = 'blogposts' users = db.relationship(User) id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False) picture = db.Column(db.String(64), nullable=False, default='default.png') date = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) title = db.Column(db.String(140), nullable=False) text = db.Column(db.Text, nullable=False) def __init__(self, title, picture, text, user_id): self.title = title self.picture = picture self.text = text self.user_id = user_id def __repr__(self): return f"Post ID: {self.id}"
class BlogPost(db.Model): # table no 2: users = db.relationship(User) id = db.Column(db.Integer, primary_key=True) # user_id connects User and BlogPost user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False) date = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) title = db.Column(db.String(140), nullable=False) text = db.Column(db.Text, nullable=True) def __init__(self, title, text, user_id): self.title = title self.text = text self.user_id = user_id def __repr__(self): return f"Post ID: {self.id} -- Date: {self.date} --- Title: {self.title}"
from datetime import datetime from hashlib import md5 from time import time from flask import current_app from werkzeug.security import generate_password_hash, check_password_hash from flask_login import UserMixin from hashlib import md5 import jwt from blogsite import db, login followers = db.Table( 'followers', db.Column('follower_id', db.Integer, db.ForeignKey('user.id')), db.Column('followed_id', db.Integer, db.ForeignKey('user.id'))) class User(UserMixin, db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(64), index=True, unique=True) email = db.Column(db.String(120), index=True, unique=True) password_hash = db.Column(db.String(128)) posts = db.relationship('Post', backref='author', lazy='dynamic') followed = db.relationship('User', secondary=followers, primaryjoin=(followers.c.follower_id == id), secondaryjoin=(followers.c.followed_id == id), backref=db.backref('followers', lazy='dynamic'), lazy='dynamic') def __repr__(self): return '<User {}>'.format(self.username)