예제 #1
0
class Comment(db.Model):
    id = db.Column(db.Integer, nullable=False, primary_key=True)
    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'))
    post_id = db.Column(db.Integer, db.ForeignKey('post.id'))

    def __repr__(self):
        return f"Comment('{self.content}', '{self.date_posted}')"
예제 #2
0
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)

    tags = db.relationship('Tag',
                           backref='post',
                           cascade="all, delete",
                           lazy='dynamic')
    upvotes = db.relationship('Upvote',
                              backref='post',
                              cascade="all, delete",
                              lazy='dynamic')
    downvotes = db.relationship('Downvote',
                                backref='post',
                                cascade="all, delete",
                                lazy='dynamic')
    comments = db.relationship('Comment',
                               backref='post',
                               cascade="all, delete",
                               lazy='dynamic')
    resources = db.relationship('ResourceFile',
                                backref='post',
                                cascade="all, delete",
                                lazy='dynamic')
    bookmarks = db.relationship('Bookmark',
                                backref='post',
                                cascade="all, delete",
                                lazy='dynamic')

    def __repr__(self):
        return f"Post('{self.title}', '{self.date_posted}')"
예제 #3
0
class ResourceFile(db.Model):
    id = db.Column(db.Integer, nullable=False, primary_key=True)
    filename = db.Column(db.String(50), nullable=False, unique=True)
    post_id = db.Column(db.Integer, db.ForeignKey('post.id'))
예제 #4
0
class Bookmark(db.Model):
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), primary_key=True)
    post_id = db.Column(db.Integer, db.ForeignKey('post.id'), primary_key=True)
예제 #5
0
class Tag(db.Model):
    tag = db.Column(db.String(50), nullable=False, primary_key=True)
    post_id = db.Column(db.Integer, db.ForeignKey('post.id'), primary_key=True)