在我的模型中,我定义了一个思想和评论模型。一个想法有很多评论:
class Thoughts(models.Model):
name = models.CharField(max_length=30)
thought = models.CharField(max_length=500)
class Comments(models.Model):
name = models.CharField(max_length=30)
comment = models.CharField(max_length=200)
original_post = models.ForeignKey(Thoughts, default=0)
在我的网站上,当你去看一个想法时,我希望所有的评论都能出现。据我所知,您可以使用choice_set通过一对多关系访问属性。以下是我的观点:
^{pr2}$在这些行中,我尝试访问与特定思想相关的所有注释,以便在模板中打印它们。在
get_post = Thoughts.objects.get(pk=thought_num)
comments = get_post.choice_set.all()
当我访问应该显示注释的页面时,我得到以下错误:
Exception Type: AttributeError
Exception Value:'Thoughts' object has no attribute 'choice_set'
也许我错过了什么,我不确定。我肯定是很简单的。谢谢你的时间
检索与某个想法相关的所有评论。您可以执行以下操作:
Thoughts.objects.get(pk=thought_num).comments_set.all()
如果要覆盖默认的相关名称(“注释集”)。您可以执行以下操作:
original_post = models.ForeignKey(Thoughts, default=0, related_name='choice_set')
当您创建一个ForeignKey时,默认的相关名称将成为当前类的小写名称+“_set”,因此对于您的项目应该是:
或者您甚至可以创建一个自定义的相关名称,而不是默认名称:
^{pr2}$所以你可以这样评论:
^{3}$相关问题 更多 >
编程相关推荐