【发布时间】:2018-05-12 07:18:50
【问题描述】:
我正在为一个应用程序设置一个 Django 模型/数据库,该应用程序旨在跟踪由user 在社交媒体上分配的keyword 的使用情况。对于keyword 的每次使用,都需要存储上下文信息,例如message、date、url 和platform。
这部分很容易用三个模型来完成 - 一个包含用户名、名字、姓氏、电子邮件和密码的 User 模型和一个包含用户名作为外键的 Keyword 模型,以及一个列表用户的关键词。第三个模型Context 然后将通过关键字链接并包含关键字使用的上下文信息。
所以关系看起来像:
User Keywords Context
username---->username
keyword---------->Keyword
kw_createdate message
post_date
url
platform
但是,我还想为每个关键字输入多个RelatedTerms,例如,如果您正在跟踪关键字“python”,则可以添加相关术语“java”、“ruby”和“c#” .对于相关术语,我真正需要的是计算它们在给定时间范围内的使用次数,但我并不反对保存它们的上下文信息,因为它可能在将来有用。
我不知道应该如何构建模型来存储相关术语。我是否应该将它们存储在 Keywords 模型中并有一个主要/相关标志,然后在上下文模型中也有这些词?
另外,关键字和上下文模型中使用的关键字之间的关系类型是什么?两个用户可以有相同的关键字,但他们将在不同的时间范围内被跟踪。
【问题讨论】:
-
相关关键字是只针对原始关键字,还是同时针对原始关键字和用户?
标签: sql django django-models