在Django应用程序中计算最近的唯一访问者的复杂逻辑

2024-04-20 01:01:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Django的在线聊天应用程序。用户可以组成组,其他用户可以在其中聚集、留言(称为replies)和照片。每个用户访问组时访问的url是:

url(r'^group/(?P<pk>\d+)/reply/$', auth(GroupView.as_view()), name="group_reply"),

其中pkgroup.pk。你知道吗

我的问题是:如何获得在过去5分钟内访问某个组的URL的所有不同用户的列表(或集合)?从本质上讲,我试图计算每个组的唯一最近访客数。我似乎不知道该怎么做,不过我想信息能帮上忙吗?(我在这个项目中使用django user_sessions,它

"makes session objects a first class citizen like other ORM objects"

)。你知道吗


如果需要,组背后的模型是:

class Group(models.Model):
    topic = models.TextField(validators=[MaxLengthValidator(200)], null=True)
    rules = models.TextField(validators=[MaxLengthValidator(500)], null=True)
    owner = models.ForeignKey(User)
    private = models.CharField(max_length=50, default=0)
    category = models.CharField(choices=TYPE, default=1, max_length=25)
    created_at = models.DateTimeField(auto_now_add=True)

在每组中发布回复的模型是:

class Reply(models.Model):
    text = models.TextField(validators=[MaxLengthValidator(500)])
    which_group = models.ForeignKey(Group)
    writer = models.ForeignKey(User)
    submitted_on = models.DateTimeField(auto_now_add=True)
    image = models.ImageField(upload_to=upload_pic_to_location, null=True, blank=True )

User是香草django.contrib.authuser。你知道吗


Tags: django用户trueurlmodelsgroupreplynull
1条回答
网友
1楼 · 发布于 2024-04-20 01:01:42

你没有任何东西可以收集你需要的数据。如果您想记录对页面的访问,您需要构建一个模型来实现这一点;一个带有FKs-to-User(对于访问者)和Group(对于被访问的组)的简单模型,再加上一个时间戳就足够了。然后,每次用户访问时,您的GroupView都可以在该表中创建一个条目。你知道吗

相关问题 更多 >