制作“已观看”视频的最佳方法用户组内邮件的属性? [英] Best way to make "viewed" attribute for messages inside user group?
本文介绍了制作“已观看”视频的最佳方法用户组内邮件的属性?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在决定如何跟踪用户是否在时间轴中看到了帖子。
I am deciding on how to track if a user has seen a post in the timeline or not.
有 Post
和 Comment
模型。
class Comment(models.Model):
author = models.ForeignKey('UserProfile')
title = models.CharField(max_length=255)
text = models.TextField(null=True, blank=True)
date_created = models.DateTimeField()
post = models.ForeignKey('Post', related_name='comments')
class Post(ContentTypeModel):
title = models.CharField(max_length=255)
group = models.ForeignKey('UserGroup', null=True)
date_updated = models.DateTimeField()
有关如何跟踪帖子
的最佳做法的建议被用户组
的特定成员看到会很好。
Suggestions about best practices on how to track if post
has been seen by particular member of a user group
will be nice.
推荐答案
我设法按照建议的方式进行,即在轨道上添加m2m关系谁查看了帖子:
I managed to do as was suggested, i.e. adding m2m relation to track who viewed the post:
class Post(models.Model):
...
date_updated = models.DateTimeField()
viewers = models.ManyToManyField('UserProfile', through='PostViewer')
class PostViewer(models.Model):
post = models.ForeignKey(Post, on_delete=models.CASCADE)
viewer = models.ForeignKey('UserProfile', on_delete=models.CASCADE, related_name='posts_seen')
last_seen = models.DateTimeField(null=True, blank=True, help_text='Is set when user sees the post in details')
class Meta:
unique_together = ('post', 'viewer')
这样,我可以将 post.date_updated
与 viewer.last_seen
,并根据需要过滤谁看到了Post的更新/创建。
This way i can compare post.date_updated
to viewer.last_seen
and get desired filtering on who have seen the update/create of Post.
这篇关于制作“已观看”视频的最佳方法用户组内邮件的属性?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文