首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于存储用户日常活动的SQL表结构

用于存储用户日常活动的SQL表结构
EN

Stack Overflow用户
提问于 2016-06-04 13:16:59
回答 1查看 218关注 0票数 1

我正在使用Django构建一个诗歌阅读应用程序,并希望存储用户的日常活动。具体来说,我想存储哪个用户阅读哪首诗和日期。而且,诗歌的数量相当大(以千为单位),而且可能还会继续增加。

我发现很难找到不需要手动更新的表结构来存储这些数据。我第一次想到的是把天作为行,把用户和诗的列表作为相对于每天的值来阅读,但是对于大量的用户来说,这个列表会很长。

是否有标准的架构来处理这样的案件?这里能做些什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-04 13:29:29

假设您使用Django的内置用户模型,我将尽可能保持它的简单性:

代码语言:javascript
复制
class Poem(models.Model):
    title = models.CharField(max_length=100)
    #.. other fields


class ReadingHistory(models.Model):
    user = models.ForeignKey(User, related_name="user_reading_history")
    poem = models.ForeignKey(Poem, related_name="user_read_poems")
    date = models.DateTimeField(auto_add=True)

views.py:

代码语言:javascript
复制
def poem_reading_page(request, poem_id):
    if request.user.is_authenticated():
        poem = Poem.objects.get(pk=poem_id)

        #create reading history with this poem
        request.user.user_reading_history.create(poem=poem)

    # etc etc

虽然没有测试

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37630677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档