我想用Django构建一个简单的热门问题列表。我有一个 功能 评估“辣“基于一些论点的每个问题。
功能看起来与此类似(这里功能齐全)
def hot(ups, downs, date):
# Do something here..
return hotness
我的问题和投票模型模型(相关部分)
class Question(models.Model):
title = models.CharField(max_length=150)
body = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
class Vote(models.Model):
question = models.ForeignKey(Question, related_name='questions_votes')
delta = models.IntegerField(default=0)
现在 delta attribute
是积极的还是消极的。热门功能接收正投票数和负投票数和问题创建日期。
我尝试过类似的东西,但它没有用。
questions = Question.objects.annotate(hotness=hot(question_votes.filter(delta, > 0),question_votes.filter(delta < 0), 'created_at')).order_by('hotness')
我得到的错误是: global name 'question_votes' is not defined
我理解错误,但我没有正确的方法。