【问题标题】:Database Design for tracking user flow用于跟踪用户流的数据库设计
【发布时间】:2019-02-16 14:35:22
【问题描述】:

我想设计一个不同模型之间的用户跟踪系统。有一个与部分相关的模块表,部分与子部分相关。每个子部分可以与不同的独立表相关。独立的表格存储不同的项目(幻灯片、视频、文本),用户可以像 Coursera 课程一样以线性流的方式完成这些项目。流程将由我们预先确定,但我们可以更改。因此,子部分之间的线性流不能被硬编码。我还需要通过这些子部分跟踪用户的进度。

例如:

子部分可以指向存储 user_info、game_score、game_completion_date_time 的游戏表,或者可能存在子部分指向存储 slide_text、slide_url 和 user_info 的幻灯片表的情况。

我想跟踪这些表中的变化,所以我应该采取什么方法。下面我发布了一张我正在解决问题的图片。

【问题讨论】:

    标签: python django django-models orm generic-foreign-key


    【解决方案1】:

    您可以创建一个“courseflows”表,其顺序是按正确顺序为 id 的逗号分隔整数序列,然后在向用户呈现部分时解析该序列。添加您需要的任何其他信息和时间戳,以便为任何新用户分配最新的流。通过链接它,您还可以保留任何用户的流程,以防您在用户中途更改它。

    我还会考虑使用不同的辅助表来标记用户对每个模块、部分和小节的完成,而不仅仅是一个。

    【讨论】:

      猜你喜欢
      • 2018-12-02
      • 1970-01-01
      • 1970-01-01
      • 2019-05-01
      • 1970-01-01
      • 2014-09-29
      • 1970-01-01
      • 1970-01-01
      • 2018-10-02
      相关资源
      最近更新 更多