【问题标题】:Implementing "likes" in SQLAlchemy在 SQLAlchemy 中实现“喜欢”
【发布时间】: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?

【问题讨论】:

标签: python database-design sqlalchemy


【解决方案1】:

查看来自 SA 的 Generic Associations 示例。它完全符合您的要求。
代码在安装目录example或者可以浏览here
最简单的实现discriminator_on_association.py 最类似于您的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-12
    • 2011-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多