【发布时间】:2017-03-20 01:16:06
【问题描述】:
基本上,我要做的是实施一个系统,让网站上的帖子可以用表情符号做出反应。也可以对这些帖子的评论做出反应。为了保持干净,我想为所有对帖子和 cmets 的反应制作一个表格,因为它们基本上是相同的。所以基本上我有两个一对多的关系,反应表总是“多”,两个可能的模型/表充当“一个”。这基本上是我想用 Flask-SQLAlchemy 做的事情:
class Reaction(db.Model):
id = db.Column(db.Integer, primary_key=True)
code = db.Column(db.String(32), nullable=False) # The emoji code in format ":thumbsup:"
user_id = db.Column(db.Integer, db.ForeignKey("user.id")) # The user reacting
post_id = db.Column(db.Integer, db.ForeignKey("post.id"), nullable=True)
comment_id = db.Column(db.Integer, db.ForeignKey("comment.id"), nullable=True)
class Post(db.Model):
....
reactions = db.relationship("Reaction", lazy="dynamic", cascade="all, delete-orphan")
class Comment(db.Model):
....
reactions = db.relationship("Reaction", lazy="dynamic", cascade="all, delete-orphan")
如果我是正确的,这应该有效,对吧?但是有没有更好、更标准的方法来做这样的事情?
【问题讨论】:
标签: python python-3.x flask sqlalchemy flask-sqlalchemy