我是Django的新手,我正在使用它来构建服务器,人们可以在该服务器上创建帐户,然后添加他们已查看的在线报纸文章。我希望用户能够查看他们已查看的所有文章,而我仅希望该用户能够看到它。
现在,数据库设计让我很困惑。 我的架构:
User(id, username, password, email)
Article(is, url, title, etc...)
History(id, user_id, article_id, last_viewed)
我知道如何在外壳程序中查询特定用户的历史记录(History.objects.filter(User = some_user)),但是我不知道如何为每个用户提供一个历史记录字段,该字段会自动查询并找到他们的历史记录。另外,我是否必须有一个大的历史记录表来存储所有不同用户的历史记录,或者每个用户我可以拥有一个不同的历史记录表吗?
我只希望每个用户都有他们浏览过的所有文章的历史记录。
您可以提供任何建议吗?我一直在用美味的馅饼来创建REST api。
答案 0 :(得分:1)
您可以在用户模型中创建一个多字段字段,并在用户每次查看特定文章时将文章的ID添加到其中。
viewed_articles =模型。ManyToManyField(文章)
是的,您绝对可以为每个用户设置不同的历史记录。