我正在为简单的问答论坛开发网站。我想得到一个答案。
模型.py
class Answer(models.Model):
ans = models.TextField()
img = models.CharField(max_length=100)
created_by = models.ForeignKey(User, related_name='answer')
created_on = models.DateTimeField(auto_now_add=True)
ques = models.ForeignKey(Question, related_name='answer')
def __str__(self):
return self.ans
class Upvote(models.Model):
upvote = models.BooleanField(default=False)
upvote_by = models.ForeignKey(User, related_name='upvote')
upvoted_on = models.DateTimeField(auto_now_add=True)
#ques = models.ForeignKey(Question, related_name='upvote')
ans = models.ForeignKey(Answer, related_name='upvote')
def __str__(self):
return self.upvote_by
views.py
我可以获得如下答案的赞成票
answer = get_object_or_404(Answer, pk=1)
upvotes = Upvote.objects.filter(ans=answer)
如何从答案对象中获得赞成票?如果我错了,请纠正我。像下面这样的东西,
answer.upvote_set
提前致谢!!
请您参考如下方法:
鉴于您在模型中显示的这个字段:
class Upvote(models.Model):
# ... other code ...
ans = models.ForeignKey(Answer, related_name='upvote')
# ... other code ...
您可以访问像这样的答案的赞成票
answer_instance.upvote.all()
如果您将字段定义更改为此(删除 related_name):
ans = models.ForeignKey(Answer)
您应该能够使用您询问的代码:
answer_instance.upvote_set.all()
