我正在尝试使用一种算法创建一个“热门页面”,该算法可以使用所有用户的照片帖子填充我的 django 视图。我有一个 Photo_Poster & Photo 模型:
class Photo_Poster(models.Model)
user = models.OneToOneField(User, primary_key=True
favorites = models.ManyToManyField('Photo', through='Favorites', related_name 'photo_poster_favs')
likes = models.ManyToManyField('Photo', related_name='likedby', blank=True)
def __unicode__(self):
return self.user.username
class Photo(models.Model)
title = models.CharField(max_length=40)
photo_poster = models.ForeignKey(Photo_Poster, related_name = 'shot_owner')
postTime = models.DateTimeField(auto_now_add=True)
def __unicode__(self):
return self.title
制作热门页面的条件如下:
第一个条件:0 分钟 <= CURRENT DATETIME - postTime <= 60 分钟
当当前 DateTime 减去 post 时间时,结果必须等于或大于 0 分钟且小于或等于 60 分钟。如果该条件为 TRUE,则转到第二个条件。
第二个条件:0.10 <= 点赞数/收藏数 <= 1
如果“喜欢的数量”除以“收藏的数量”等于或大于 0.10 且小于或等于 1,则条件成立,照片将进入热门页面。
怎么可能做到这一点?关于任何人如何能够承担这样的壮举的任何想法?感谢所有答案和评论,我相信您的答案对其他人非常有用。先感谢您。