在Django中创建用户历史记录API

时间:2019-08-28 21:29:41

标签: django django-models django-rest-framework tastypie

我是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。

1 个答案:

答案 0 :(得分:1)

您可以在用户模型中创建一个多字段字段,并在用户每次查看特定文章时将文章的ID添加到其中。

viewed_articles =模型。ManyToManyField(文章)

是的,您绝对可以为每个用户设置不同的历史记录。