【发布时间】:2011-11-04 12:51:16
【问题描述】:
在许多应用程序中实现“点赞”确实是微不足道的任务。但是,我目前正在开发的应用程序中的点赞问题是:可以“点赞”的实体有很多(例如:帖子、照片等)。
我目前推出了一个简单的Likeable 类,用于管理喜欢。我的点赞表是这样的:
like_table = Table('like', metadata,
Column('id', Integer, Sequence('like_id_seq'),
primary_key=True),
Column('entity_id', Integer, index=True),
Column('entity_type', String(32)),
Column('user_id', Integer, ForeignKey('user.id')))
当创建一个新的赞时,entity_type 由这个 Likeable 分配以反映被赞元素的类型。
但是,我知道这远非良好做法。 我应该如何实现点赞以及我的数据库架构应该是什么样子才能使其更加 SQLAlchemish?
【问题讨论】:
-
您在
entity表上没有entity_type列吗?
标签: python database-design sqlalchemy