代码之家  ›  专栏  ›  技术社区  ›  cwj

django/sql:跟踪谁在论坛上读了什么

  •  2
  • cwj  · 技术社区  · 16 年前

    我正在Django做一个不大的项目,除此之外,这个项目还包括一个论坛系统。

    我的大部分系统都处于或多或少的运行状态,但是我仍然缺少一个功能,当有新的帖子时,可以为用户标记未读的线程。

    问题是我真的想不出一种方法来正确地存储这些信息。我的第一个想法是创建另一个模型,它将为每个用户存储一个线程列表及其更改。有一个的东西 ForeignKey(User) 一个 ForeignKey(Thread) 每次一个线程被发布或者一个日志被添加到一个线程时,只需不断地添加新的条目。

    但是,我不确定在一段时间后,比如说几百个线程,可能有50-200个用户,这一比例会有多大。那么,为没有登录的用户的每个新日志添加200行?听起来很不错。

    其他论坛系统怎么做呢?我如何在Django实现一个系统来解决这些问题呢?

    谢谢!

    2 回复  |  直到 16 年前
        1
  •  1
  •   Edward Dale    16 年前

    您还可以简单地存储用户上次阅读特定论坛的时间。自该日期起更新的所有文章都是新的。您将只为每个用户存储一条额外的信息,而不是为每个用户每个帖子存储一条信息。

        2
  •  2
  •   Ned Batchelder    16 年前

    存储“已读”位,而不是“未读”位更好。您可以将它们存储在一个巨大的小斑点中,而不是作为关系数据。然后,在添加新的日志时,只在用户读取日志时,就不必修改读取的数据。