Example #1
0
class Answer(db.Model):
    id = db.Column(db.Integer, primary_key=True)

    # 기존 모델과 연동된 속성인 question_id는 foreign key로 설정된다.
    # ondelete는 삭제시의 설정에 대한 옵션인데, 'CASCADE'로 설정하게 되면 question 데이터 삭제 시에 이와 연동된 answer 데이터도 삭제된다.
    question_id = db.Column(db.Integer,
                            db.ForeignKey('question.id', ondelete='CASCADE'))

    # answer 객체에서 question 객체를 상속
    # db.relationship('참조할 모델명', backref=역참조 설정
    # 역참조: 질문에서 답변을 참조하는 것 - 하나의 질문에 여러개의 답변이 달릴 수 있는데, 질문에서 이 답변들을 참조하는 것
    question = db.relationship('Question', backref=db.backref('answer_set'))
    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)

    # user 객체의 id와 연결
    user_id = db.Column(db.Integer,
                        db.ForeignKey('user.id', ondelete='CASCADE'),
                        nullable=False)
    user = db.relationship('User', backref=db.backref('answer_set'))

    # 수정일자 컬럼
    modify_date = db.Column(db.DateTime(), nullable=True)

    # 추천인
    voter = db.relationship('User',
                            secondary=answer_voter,
                            backref=db.backref('answer_voter_set'))
Example #2
0
class Answer(db.Model):
    id = db.Column(db.Integer, primary_key=True)

    # 질문 모델과 연결하기 위한 question_id. 어떤 질문에 대한 답변인지 표시하기 위해 foreign key(외부 키) 이용
    # db.ForeignKey(연결할 모델의 속성명, 삭제 연동 설정.)
    # ondelete='CASCADE' : DB에서 쿼리를 이용하여 질문을 삭제하면 해당 질문에 대한 답변도 함께 삭제
    question_id = db.Column(db.Integer,
                            db.ForeignKey('question.id', ondelete='CASCADE'))

    # 답변 모델에서 질문 모델을 참조하기 위해 추가.
    # db.relationship(참조할 모델명, 역참조 설정) - 역참조 : 질문에서 답변을 참조하는 것
    question = db.relationship('Question', backref=db.backref('answer_set'))

    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)
    modify_date = db.Column(db.DateTime(), nullable=True)
    voter = db.relationship('User',
                            secondary=answer_voter,
                            backref=db.backref('answer_voter_set'))

    # answer model에 field 추가
    user_id = db.Column(db.Integer,
                        db.ForeignKey('user.id', ondelete='CASCADE'),
                        nullable=False)
    user = db.relationship('User', backref=db.backref('answer_set'))
Example #3
0
class Answer(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    question_id = db.Column(db.Integer, db.ForeignKey('question.id', ondelete='CASCADE'))
    question = db.relationship('Question', backref=db.backref('answer_set'))
    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id', ondelete='CASCADE'), nullable=False)
    user = db.relationship('User', backref=db.backref('answer_set'))
Example #4
0
class Question(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    subject = db.Column(db.String(200), nullable=False)
    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)
    modify_date = db.Column(db.DateTime(), nullable=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id', ondelete='CASCADE'), nullable=False)
    user = db.relationship('User', backref=db.backref('question_set'))
    voter = db.relationship('User', secondary=question_voter, backref=db.backref('question_voter_set'))
Example #5
0
class Answer(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    question_id = db.Column(
        db.Integer, db.ForeignKey("question.id", ondelete="CASCADE")
    )
    question = db.relationship("Question", backref=db.backref("answer_set"))
    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)
    user_id = db.Column(
        db.Integer, db.ForeignKey("user.id", ondelete="CASCADE"), nullable=False
    )
    user = db.relationship("User", backref=db.backref("answer_set"))
Example #6
0
class Question(db.Model):
    id = db.Column(db.Integer, primary_key = True)
    subject = db.Column(db.String(200), nullable=False)
    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)
    # (p.162) User 모델 데이터의 id 값을 Question 모델에 포함시킴.
    #db.ForeignKey : 다른 모델과 연결. ondelete='CASCADE': User 모델 데이터가 삭제되면 Question 모델 데이터도 삭제됨.
    user_id = db.Column(db.Integer, db.ForeignKey('user.id', ondelete='CASCADE'), nullable=False)
    user = db.relationship('User', backref = db.backref('question_set'))
    # p.182 nullable=True!! 
    modify_date = db.Column(db.DateTime(), nullable=True)
    # p.210  Question 모델에 voter 필드 추가하기
    voter = db.relationship('User', secondary=question_voter, backref = db.backref('question_voter_set'))
Example #7
0
class Comment(db.Model):
    id = db.Column(db.Integer, primary_key=True) #댓글 고유번호
    user_id = db.Column(db.Integer, db.ForeignKey(
        'user.id', ondelete = 'CASCADE'), nullable=False) #댓글 작성자(User 모델과 관계를 가짐)
    user = db.relationship('User', backref=db.backref('comment_set'))
    content = db.Column(db.Text(), nullable=False) #댓글 내용
    create_date = db.Column(db.DateTime(), nullable=False) #댓글 작성 일시
    modify_date = db.Column(db.DateTime())
    #질문에 댓글을 작성하면 question_id 필드에 값이 저장되고, 답변에 댓글이 작성되면 answer_id 필드에 값이 저장된다.
    question_id = db.Column(db.Integer, db.ForeignKey(
        'question.id', ondelete='CASCADE'), nullable=True) #댓글의 질문(Questioin 모델과 관계를 가짐)
    question = db.relationship('Question', backref=db.backref('comment_set'))
    answer_id = db.Column(db.Integer, db.ForeignKey('answer.id', ondelete='CASCADE'), nullable=True) #댓글의 답변(Answer 모델과 관계를 가짐)
    answer = db.relationship('Answer', backref=db.backref('comment_set'))
Example #8
0
class Question(db.Model):  #nullable 비어있는값 들어올수없음 의미 디폴드값은 true
    id = db.Column(db.Integer,
                   primary_key=True)  #primary_key 중복 안됌,integer id숫자값
    subject = db.Column(db.String(200), nullable=False)  #string제목처럼 제한된 글자수
    content = db.Column(db.Text(), nullable=False)  #text글자수 제한 없음
    create_date = db.Column(db.DateTime(), nullable=False)  #날짜와 시간
    user_id = db.Column(db.Integer,
                        db.ForeignKey('user.id', ondelete='CASCADE'),
                        nullable=True)
    user = db.relationship('User', backref=db.backref('question_set'))
    modify_date = db.Column(db.DateTime(), nullable=True)
    voter = db.relationship('User',
                            secondary=question_voter,
                            backref=db.backref('question_voter_set'))
Example #9
0
class Answer(db.Model):  #답변 DB
    id = db.Column(db.Integer, primary_key=True)  #답변 데이터의 고유 번호
    question_id = db.Column(db.Integer,
                            db.ForeignKey('question.id',
                                          ondelete="CASCADE"))  #질문 데이터의 고유 번호
    question = db.relationship(
        'Question',
        backref=db.backref('answer_set', cascade='all, delete-orphan'))  #답변 내용
    content = db.Column(db.Text(), nullable=False)  #답변 내용
    create_date = db.Column(db.DateTime(), nullable=False)  #답변 작성일시
    user_id = db.Column(db.Integer,
                        db.ForeignKey('user.id', ondelete='CASCADE'),
                        nullable=False)
    user = db.relationship('User', backref=db.backref('answer_set'))
Example #10
0
class Comment(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.Text(), nullable=False)
    user = db.relationship('User', backref=db.backref(
        'commenet_set', cascade='all, delete-orphan'))
    user_id = db.Column(db.Integer, db.ForeignKey(
        'user.id', ondelete='CASCADE'), nullable=False)
    question = db.relationship('Question', backref=db.backref('comment_set'))
    question_id = db.Column(db.Integer, db.ForeignKey(
        'question.id', ondelete='CASCADE'), nullable=True)
    answer = db.relationship('Answer', backref=db.backref('comment_set'))
    answer_id = db.Column(db.Integer, db.ForeignKey(
        'answer.id', ondelete='CASCADE'), nullable=True)
    create_date = db.Column(db.DateTime(), nullable=False)
    modify_date = db.Column(db.DateTime(), nullable=True)
Example #11
0
class Apires(db.Model):
    #기본키
    id = db.Column(db.Integer, primary_key=True)
    apireq_id = db.Column(db.Integer,
                          db.ForeignKey('apireq.id', ondelete='CASCADE'))
    apireq = db.relationship('Apireq', backref=db.backref('apires_set'))
    parameter = db.Column(db.String(200), nullable=False)
    result_format = db.Column(db.String(200), nullable=True)
    result_data = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)
    modify_date = db.Column(db.DateTime(), nullable=True)
    user_id = db.Column(db.Integer,
                        db.ForeignKey('user.id', ondelete='CASCADE'),
                        nullable=False)
    user = db.relationship('User', backref=db.backref('apires_set'))
Example #12
0
class Answer(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    question_id = db.Column(db.Integer,
                            db.ForeignKey('question.id', ondelete='CASCADE'))
    #db.ForeignKaey는 다른 모델과의 연결 의미 ,ondelete=cascade는 이 답변과 연결된 질문이 삭제될시 답변도 삭제
    question = db.relationship('Question', backref=db.backref('answer_set'))
    #backref속성은 질문에서 답변모델을 참조하기위해서 사용
    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)
    user_id = db.Column(db.Integer,
                        db.ForeignKey('user.id', ondelete='CASCADE'),
                        nullable=True)
    user = db.relationship('User', backref=db.backref('answer_set'))
    voter = db.relationship('User',
                            secondary=answer_voter,
                            backref=db.backref('answer_voter_set'))
Example #13
0
class Answer(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    # 1:N 관계형 DB
    # ondelete='CASCADE' -> 질문이 삭제되면 답변도 함께 삭제한다.
    question_id = db.Column(db.Integer,
                            db.ForeignKey('question.id', ondelete='CASCADE'))
    question = db.relationship('Question', backref=db.backref('answer_set', ))
    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)
    modify_date = db.Column(db.DateTime(), nullable=True)
    user_id = db.Column(db.Integer,
                        db.ForeignKey('user.id', ondelete='CASCADE'),
                        nullable=False)
    user = db.relationship('User', backref=db.backref('answer_set'))
    voter = db.relationship('User',
                            secondary=answer_voter,
                            backref=db.backref('answer_voter_set'))
Example #14
0
class Question(db.Model):
    # 플라스크는 데이터 타입이 db.Interger 이고 기본키로 지정한 속성은
    # 값이 자동으로 증가하는 특징이 있어서 데이터를 저장할 떄 해당 속성값을 지정하지 않아도
    # 1씩 자동으로 증가하여 저장된다.
    id = db.Column(db.Integer, primary_key=True)
    subject = db.Column(db.String(200), nullable=False)
    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)
    user_id = db.Column(db.Integer,
                        db.ForeignKey('user.id', ondelete='CASCADE'),
                        nullable=False)
    user = db.relationship('User', backref=db.backref(
        'question_set'))  # Question 모델에서 User 모델을 참조하기 위한 필드
    modify_date = db.Column(db.DateTime(), nullable=True)
    voter = db.relationship('User',
                            secondary=question_voter,
                            backref=db.backref('question_vote_set'))
class VocaWord(db.Model):  # 단어
    id = db.Column(db.Integer, primary_key=True)
    voca_id = db.Column(db.Integer, db.ForeignKey('voca.id',
                                                  ondelete="CASCADE"))
    voca = db.relationship('Voca',
                           backref=db.backref('voca_set',
                                              cascade='all, delete-orphan'))
    word = db.Column(db.String(200), nullable=False)  # 단어장 단어
    mean = db.Column(db.String(200), nullable=False)  # 단어장 뜻
class Question(db.Model):  # 질문 DB
    id = db.Column(db.Integer, primary_key=True)  # 질문 데이터의 고유 번호
    subject = db.Column(db.String(200), nullable=False)  # 질문 제목
    content = db.Column(db.Text(), nullable=False)  # 질문 내용
    create_date = db.Column(db.DateTime(), nullable=False)  # 질문 작성일시
    user_id = db.Column(db.Integer,
                        db.ForeignKey('user.id', ondelete='CASCADE'),
                        nullable=False)
    user = db.relationship('User', backref=db.backref('question_set'))
Example #17
0
class Question(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    subject = db.Column(db.String(200), nullable=False)
    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)
    user_id = db.Column(
        db.Integer, db.ForeignKey("user.id", ondelete="CASCADE"), nullable=False
    )
    user = db.relationship("User", backref=db.backref("question_set"))
Example #18
0
class Comment(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer,
                        db.ForeignKey('user.id', ondelete='CASCADE'),
                        nullable=False)
    user = db.relationship('User', backref=db.backref('comment_set'))
    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)
    modify_date = db.Column(db.DateTime())
    # 댓글은 질문 혹은 답변 둘 중 하나에 달 수 있으므로 널이 가능해야 한다
    question_id = db.Column(db.Integer,
                            db.ForeignKey('question.id', ondelete='CASCADE'),
                            nullable=True)
    question = db.relationship('Question', backref=db.backref('comment_set'))
    answer_id = db.Column(db.Integer,
                          db.ForeignKey('answer.id', ondelete='CASCADE'),
                          nullable=True)
    answer = db.relationship('Answer', backref=db.backref('comment_set'))
Example #19
0
class Answer(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    question_id = db.Column(
        db.Integer, db.ForeignKey('question.id', ondelete='CASCADE')
    )  #db.ForeignKey에 지정한 첫 번째 값은 연결한 모델의 속성명이고 두 번째 ondelete에 지정한 값은 삭제 연동 설정이다. 즉, 답변 모델의 quesion_id 속성은 질문 모델의 id 속성과 연결되며 ondelete='CASCADE'에 의해 데이터베이스에서 쿼리를 이용하여 질문을 삭제하면 해당 질문에 달린 답변도 함꼐 삭제된다.
    question = db.relationship(
        'Question', backref=db.backref('answer_set')
    )  #quesion속성은 답변 모델에서 질문 모델을 참조하기 위해 추가했다. 예를 들어 답변 모델 객체에서 질문 모델 객체의 제목을 참조하려면 answer.question.subject처럼 할 수 있다. 이렇게 하려면 속성을 추가할 때 db.Column이 아닌 db.relationship을 사용해야한다.
    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)
    user_id = db.Column(db.Integer,
                        db.ForeignKey('user.id', ondelete='CASCADE'),
                        nullable=False)
    user = db.relationship('User', backref=db.backref('answer_set'))
    modify_date = db.Column(db.DateTime(), nullable=True)
    voter = db.relationship('User',
                            secondary=answer_voter,
                            backref=db.backref('answer_voter_set'))
Example #20
0
class Answer(db.Model):
    id = db.Column(db.Integer, primary_key=True)  #primary_key는 고윳값. 주민등록같은거
    question_id = db.Column(
        db.Integer, db.ForeignKey('question.id', ondelete='CASCADE')
    )  #ForeignKey 다른 테이블의 pk(primary key)값을 쓸때 여기서는 foreignkey라고 함. ondelete= 원래 것이 삭제디면 여기서도 삭제되라. 연동의 의미..
    question = db.relationship('Question', backref=db.backref(
        'answer_set'))  #참조 #backref는 역참조. relationship은 묶어주는 역할
    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)
Example #21
0
class Question(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    subject = db.Column(db.String(200), nullable=False)
    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)
    modify_date = db.Column(db.DateTime(), nullable=True)
    user_id = db.Column(
        db.Integer,
        db.ForeignKey("user.id", ondelete="CASCADE"),
        nullable=False,
        # server_default="1",
    )
    # User 스키마의 id를 참조함
    user = db.relationship(
        "User",
        backref=db.backref("question_set"))  # question을 이용해 user를 참조하기 위함
    voter = db.relationship("User",
                            secondary=question_voter,
                            backref=db.backref("question_voter_set"))
class Voca(db.Model):  # 단어장
    id = db.Column(db.Integer, primary_key=True)  # 단어장 고유번호
    vocaname = db.Column(db.String(150), nullable=False)  # 단어장 이름
    user_id = db.Column(db.String(150),
                        db.ForeignKey('user.id', ondelete="CASCADE"))
    user = db.relationship(
        'User',
        backref=db.backref('voca_set',
                           cascade='all, delete-orphan'))  # 유저 데이터 RK & 역참조
    tag = db.Column(db.Text(), nullable=False)  # 단어장 태그
Example #23
0
class Answer(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    question_id = db.Column(db.Integer,
                            db.ForeignKey("question.id", ondelete="CASCADE"))
    question = db.relationship(
        "Question", backref=db.backref("answer_set")
    )  # backref 속성은 answer.question.subject 와는 반대로 질문에서 답변모델을 참조하기 위해서 사용되는 속성이다. 중요한 기능
    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)
    modify_date = db.Column(db.DateTime(), nullable=True)
    user_id = db.Column(db.Integer,
                        db.ForeignKey("user.id", ondelete="CASCADE"),
                        nullable=False
                        # server_default="1",
                        )
    user = db.relationship("User", backref=db.backref("answer_set"))
    voter = db.relationship("User",
                            secondary=answer_voter,
                            backref=db.backref("answer_voter_set"))
Example #24
0
class Answer(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    question_id = db.Column(db.Integer,
                            db.ForeignKey('question.id', ondelete='CASCADE'))
    question = db.relationship('Question', backref=db.backref('answer_set', ))
    # question = db.relationship('Question', \
    #                            backref=db.backref('answer_set', \
    #                                               cascade='all, delete-orphan' ))
    #                             # 이렇게 하면 질문과 연관된 답변 데이터 전부 삭제
    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)
    user_id = db.Column(db.Integer,
                        db.ForeignKey('user.id', ondelete='CASCADE'),
                        nullable=False)
    user = db.relationship('User', backref=db.backref('answer_set'))
    modify_date = db.Column(db.DateTime(), nullable=True)
    voter = db.relationship('User',
                            secondary=answer_voter,
                            backref=db.backref('answer_voter_set'))
Example #25
0
class Answer(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    question_id = db.Column(db.Integer,
                            db.ForeignKey('question.id', ondelete='CASCADE')
                            )  #외래키, Question의 PK값(id)을 사용, 질문 삭제되면 같이 삭제되도록 설정
    question = db.relationship(
        'Question', backref=db.backref('answer_set')
    )  #컬럼이 아니고 관계(역참조 - question_id가 똑같은 답변들은 해당 id의 질문을 참조하여 하나로 묶어줌)
    #즉, 어떤 질문에 대한 답변인지 나타내기 위한 것
    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)
Example #26
0
class Answer(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    question_id = db.Column(
        db.Integer, db.ForeignKey('question.id',
                                  ondelete='CASCADE'))  # 질문 삭제 시 답변도 같이 삭제됨됨
    question = db.relationship(
        'Question',
        backref=db.backref('answer_set'))  # db.relationship(참조할 모델, 역참조 설정)
    # 역참조 설정을 해두면 Answer 객체에서 일방적으로 Question 객체를 참조하는 경우라도 그 반대의 참조도 가능해진다(Question 객체에서 Answer 객체 참조 가능)
    # answer_set : 역참조 할 경우 사용하는 키워드
    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)
    user_id = db.Column(db.Integer,
                        db.ForeignKey('user.id', ondelete='CASCADE'),
                        nullable=False)
    user = db.relationship('User', backref=db.backref('answer_set'))
    modify_date = db.Column(db.DateTime(), nullable=True)
    voter = db.relationship('User',
                            secondary=answer_voter,
                            backref=db.backref('answer_voter_set'))
Example #27
0
class Question(db.Model):
    #기본키
    id = db.Column(db.Integer, primary_key=True)
    subject = db.Column(db.String(200), nullable=False)
    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)
    modify_date = db.Column(db.DateTime(), nullable=True)
    user_id = db.Column(db.Integer,
                        db.ForeignKey('user.id', ondelete='CASCADE'),
                        nullable=False)
    user = db.relationship('User', backref=db.backref(
        'question_set'))  #backref : User 모델 데이터를 통해 Question 모델 데이터를 참조
    voter = db.relationship('User',
                            secondary=question_voter,
                            backref=db.backref('question_voter_set'))
    menu_id = db.Column(db.Integer(),
                        db.ForeignKey('menu.id', ondelete='CASCADE'),
                        nullable=False,
                        server_default='1')
    view_cnt = db.Column(db.Integer, nullable=False, server_default='0')
Example #28
0
class Answer(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    question_id = db.Column(db.Integer,
                            db.ForeignKey('question.id',
                                          ondelete='CASCADE'))  # 모델 간 관계 정의
    question = db.relationship(
        'Question',
        backref=db.backref('answer_set',
                           cascade='all, delete-orphan'))  # 참조 모델 / 역참조
    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)
Example #29
0
class Question(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    subject = db.Column(db.String(200), nullable=False)
    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)

    # db.ForeignKey('user.id', ondelete='CASCADE')
    # User 모델의 id 값과 연결
    # ondelete='CASCADE' user 데이터 삭제 시에 Question 모델 데이터도 함께 삭제되도록함
    user_id = db.Column(db.Integer,
                        db.ForeignKey('user.id', ondelete='CASCADE'),
                        nullable=False)
    user = db.relationship('User', backref=db.backref('question_set'))

    # 수정일자 컬럼
    modify_date = db.Column(db.DateTime(), nullable=True)

    # 추천인
    # secondary: voter가 다대다 관계이며, question_voter 테이블을 참조한다.
    voter = db.relationship('User',
                            secondary=question_voter,
                            backref=db.backref('question_voter_set'))
Example #30
0
class Answer(db.Model):
    id = db.Column(db.Integer, primary_key=True)

    # Question 삭제시 Answer의 question_id값이 빈값으로 된다.
    question_id = db.Column(db.Integer,
                            db.ForeignKey('question.id', ondelete='CASCADE'))

    # Question 삭제시 Answer 데이터도 함께 지우기 위한 옵션
    # question = db.relationship('Question', backref=db.backref('answer_set', cascade='all, delete-orphan'))

    question = db.relationship('Question', backref=db.backref('answer_set'))
    content = db.Column(db.Text(), nullable=False)
    create_date = db.Column(db.DateTime(), nullable=False)

    # user_id = db.Column(db.Integer, db.ForeignKey('user.id', ondelete='CASCADE'), nullable=True, server_default='1')
    user_id = db.Column(db.Integer,
                        db.ForeignKey('user.id', ondelete='CASCADE'),
                        nullable=False)
    user = db.relationship('User', backref=db.backref('answer_set'))
    modify_date = db.Column(db.DateTime(), nullable=True)
    voter = db.relationship('User',
                            secondary=answer_voter,
                            backref=db.backref('answer_voter_set'))