sqlalchemy 多对多关系之一

时间:2021-02-10 13:47:00

标签: postgresql sqlalchemy flask-sqlalchemy

我的情况是现在我正在鼓吹诸如 facebook 评论之类的东西

但在评论表中,作者可以是人、页面或东西

并且文档也可以是博客文章、产品或个人资料

我的表结构是这样的

class Comment(db.Model):
    _N = 6

    __tablename__ = 'comment'
    uid = db.Column(db.Integer, primary_key=True)

    content = db.Column(db.Text)

    disabled = db.Column(db.Boolean, default=False)

    author_id = db.Column(db.Integer)
    author_type = db.Column(db.String(20), nullable=False)
    doc_id = db.Column(db.Integer)
    doc_type = db.Column(db.String(20), nullable=False)
    
    parent_uid = db.Column(db.Integer, db.ForeignKey('comment.id'))
    replies = db.relationship(
        'Comment', backref=db.backref('parent', remote_side=[id]),
        lazy='dynamic')

    timestamp = db.Column(db.DateTime(), default=datetime.utcnow, index=True)

 

注意我有 author_id、author_type 和 doc_id、doc_type

但我不知道如何在这种情况下添加外键

0 个答案:

没有答案