我正在为应用设置Django模型/数据库,该应用旨在跟踪社交媒体上keyword
分配的user
的使用情况。对于message
的每次使用,都需要存储date
,url
,platform
和keyword
等上下文信息。
这部分很容易实现三个模型 - User
模型,其中包含用户名,第一个,最后一个,电子邮件和密码以及包含用户名作为外键的Keyword
模型,以及用户关键字列表。然后,第三个模型Context
将通过关键字链接,并包含关键字用法的上下文信息。
所以关系看起来像:
User Keywords Context
username---->username
keyword---------->Keyword
kw_createdate message
post_date
url
platform
但是,我还要为每个关键字输入一些RelatedTerms
,例如,如果您要跟踪关键字“python”,则可以添加相关术语“java”,“ruby”和“ C#'。对于相关术语,我真正需要的是计算在给定时间范围内使用它们的次数,但并不反对保存它们的上下文信息,因为它可能在将来有用。
我无法弄清楚我应该如何构建用于存储相关术语的模型。我应该将它们存储在Keywords
模型中并且有一个主要/相关的标志,然后在上下文模型中也有这些单词吗?
此外,关键字与关键字和上下文模型中使用的关系类型是什么?两个用户可以拥有相同的关键字,但会在不同的时间范围内跟踪它们。