我的模型中有以下两个类:
class Answer(models.Model):
answer = models.CharField(max_length=300)
question = models.ForeignKey('Question', on_delete=models.CASCADE)
def __str__(self):
return "{0}, view: {1}".format(self.answer, self.answer_number)
class Vote(models.Model):
answer = models.OneToOneField(Answer, related_name="votes", on_delete=models.CASCADE)
users = models.ManyToManyField(User)
def __str__(self):
return str(self.answer.answer)[:30]
在外壳中,我得到第一个答案:
>>> Answer.objects.all()[0]
<Answer: choix 1 , view: 0>
我想获得投票对象:
>>> Answer.objects.all()[0].votes
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "C:\Users\Hippolyte\AppData\Roaming\Python\Python38\site-packages\django\db\models\fields\related_descriptors.py", line 420, in __get__
raise self.RelatedObjectDoesNotExist(
questions.models.Answer.votes.RelatedObjectDoesNotExist: Answer has no votes.
但是发生错误。
我不明白为什么related_name
无法识别。你能帮我吗?
您在这里使用了OneToOneField
。因此,这意味着每个Vote
指向different
Answer
模型而不使用OneToOne关系来检查Vote
是否具有[C0