我有一个Django的在线聊天应用程序。用户可以组成组,其他用户可以在其中聚集、留言(称为replies
)和照片。每个用户访问组时访问的url是:
url(r'^group/(?P<pk>\d+)/reply/$', auth(GroupView.as_view()), name="group_reply"),
其中pk
是group.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.auth
user
。你知道吗
你没有任何东西可以收集你需要的数据。如果您想记录对页面的访问,您需要构建一个模型来实现这一点;一个带有FKs-to-User(对于访问者)和Group(对于被访问的组)的简单模型,再加上一个时间戳就足够了。然后,每次用户访问时,您的GroupView都可以在该表中创建一个条目。你知道吗
相关问题 更多 >
编程相关推荐