コード例 #1
0
class Answer(db.Model):
    answer_id = db.Column(db.String(50), primary_key=True)
    answer_content = db.Column(db.Text, nullable=False, unique=True)
    up_vote = db.Column(db.Integer, nullable=False)
    down_vote = db.Column(db.Integer, nullable=False)
    date_public = db.Column(db.DateTime, nullable=False)
    last_update = db.Column(db.DateTime, nullable=False)
    is_deleted = db.Column(db.Boolean, nullable=False)
    user_id = db.Column(db.String(50),
                        db.ForeignKey('user.user_id'),
                        nullable=False)
    question_id = db.Column(db.String(50),
                            db.ForeignKey('question.question_id'),
                            nullable=False)
    up_vote_users = db.relationship('User',
                                    secondary=user_up_vote_answer,
                                    backref='up_vote_answer',
                                    lazy='dynamic')
    down_vote_users = db.relationship('User',
                                      secondary=user_down_vote_answer,
                                      backref='down_vote_answer',
                                      lazy='dynamic')

    def __init__(self, content, user_id, question_id):
        self.answer_id = uuid.uuid4().hex
        self.answer_content = content
        self.user_id = user_id
        self.up_vote = 0
        self.down_vote = 0
        self.date_public = datetime.now()
        self.last_update = datetime.now()
        self.question_id = question_id
        self.is_deleted = False

    def vote_up(self):
        self.up_vote += 1

    def dis_vote_up(self):
        self.up_vote -= 1

    def vote_down(self):
        self.down_vote += 1

    def dis_vote_down(self):
        self.down_vote -= 1

    def edit(self, content):
        self.answer_content = content
        self.last_update = datetime.now()

    def delete(self):
        self.is_deleted = True
コード例 #2
0
class Tag(db.Model):
    tag_id = db.Column(db.String(50), primary_key=True)
    tag_name = db.Column(db.String(50), nullable=False, unique=True)
    is_deleted = db.Column(db.Boolean, nullable=False)

    def __init__(self, name):
        self.tag_id = uuid.uuid4().hex
        self.tag_name = name
        self.is_deleted = False

    def delete(self):
        self.is_deleted = True

    def edit(self, new_tag_name):
        self.tag_name = new_tag_name
コード例 #3
0
class User(db.Model):
    user_id = db.Column(db.String(50), primary_key=True)
    user_name = db.Column(db.String(50), nullable=False, unique=True)
    user_email = db.Column(db.String(50), nullable=False, unique=True)
    user_password = db.Column(db.String(50), nullable=False)
    answers = db.relationship('Question', backref='owner', lazy=True)
    answers = db.relationship('Answer', backref='owner', lazy=True)
    is_deleted = db.Column(db.Boolean, nullable=False)

    def __init__(self, name, email, password):
        self.user_id = uuid.uuid4().hex
        self.user_name = name
        self.user_email = email
        self.user_password = password
        self.is_deleted = False

    def delete(self):
        self.is_deleted = True
コード例 #4
0
ファイル: sqlOrm.py プロジェクト: Waylon91/apiTest-1
class user(db.Model):
    userId = db.Column(db.INT, primary_key=True)
    phone = db.Column(db.String(255), unique=False)

    def __init__(self, userId, phone):
        self.userId = userId
        self.phone = phone

    def __repr__(self):
        return '<User %r>' % self.userId
コード例 #5
0
class Question(db.Model):
    question_id = db.Column(db.String(50), primary_key=True)
    question_content = db.Column(db.Text, nullable=False, unique=True)
    up_vote = db.Column(db.Integer, nullable=False)
    down_vote = db.Column(db.Integer, nullable=False)
    date_public = db.Column(db.DateTime, nullable=False)
    last_update = db.Column(db.DateTime, nullable=False)
    is_closed = db.Column(db.Boolean, nullable=False)
    is_deleted = db.Column(db.Boolean, nullable=False)
    user_id = db.Column(db.String(50),
                        db.ForeignKey('user.user_id'),
                        nullable=False)
    answers = db.relationship('Answer', backref='question', lazy=True)
    tags = db.relationship('Tag',
                           secondary=question_tag,
                           backref='questions',
                           lazy='dynamic')
    up_vote_users = db.relationship('User',
                                    secondary=user_up_vote_question,
                                    backref='up_vote_questions',
                                    lazy='dynamic')
    down_vote_users = db.relationship('User',
                                      secondary=user_down_vote_question,
                                      backref='down_vote_questions',
                                      lazy='dynamic')

    def __init__(self, content, user_id):
        self.question_id = uuid.uuid4().hex
        self.question_content = content
        self.user_id = user_id
        self.up_vote = 0
        self.down_vote = 0
        self.date_public = datetime.now()
        self.last_update = datetime.now()
        self.is_closed = False
        self.is_deleted = False

    def vote_up(self):
        self.up_vote += 1

    def dis_vote_up(self):
        self.up_vote -= 1

    def vote_down(self):
        self.down_vote += 1

    def dis_vote_down(self):
        self.down_vote -= 1

    def edit(self, content):
        self.question_content = content
        self.last_update = datetime.now()

    def delete(self):
        self.is_deleted = True

    def close(self):
        self.is_closed = True

    def add_tags(self, tags):
        for tag in tags:
            self.tags.append(tag)
コード例 #6
0
from initial import datetime, db, uuid

question_tag = db.Table(
    'question_tag',
    db.Column('question_id', db.String(50),
              db.ForeignKey('question.question_id')),
    db.Column('tag_id', db.String(50), db.ForeignKey('tag.tag_id')))

user_up_vote_question = db.Table(
    'user_up_vote_question',
    db.Column('user_id', db.String(50), db.ForeignKey('user.user_id')),
    db.Column('question_id', db.String(50),
              db.ForeignKey('question.question_id')))

user_up_vote_answer = db.Table(
    'user_up_vote_answer',
    db.Column('user_id', db.String(50), db.ForeignKey('user.user_id')),
    db.Column('answer_id', db.String(50), db.ForeignKey('answer.answer_id')))

user_down_vote_question = db.Table(
    'user_down_vote_question',
    db.Column('user_id', db.String(50), db.ForeignKey('user.user_id')),
    db.Column('question_id', db.String(50),
              db.ForeignKey('question.question_id')))

user_down_vote_answer = db.Table(
    'user_down_vote_answer',
    db.Column('user_id', db.String(50), db.ForeignKey('user.user_id')),
    db.Column('answer_id', db.String(50), db.ForeignKey('answer.answer_id')))