Python Django ForeignKey取得成果

Python Django ForeignKey取得成果,python,django,web,Python,Django,Web,我试着回答其他问题,但仍然有一些问题 我有两种型号: class Media(models.Model): name = models.CharField(max_length=100) media = models.CharField(max_length=10, choices=MEDIA_TYPE) class Review(models.Model): message = models.CharField(max_length=10) submitter

我试着回答其他问题,但仍然有一些问题

我有两种型号:

class Media(models.Model):
    name = models.CharField(max_length=100)
    media = models.CharField(max_length=10, choices=MEDIA_TYPE)

class Review(models.Model):
    message = models.CharField(max_length=10)
    submitter = models.ForeignKey(User)
    media = models.ForeignKey(Media, related_name='rev_media')
我想去做一些类似的事情

blaw = Media.objects.all()
for a in blaw:
    print (all the reviews to have to do with this one media object)

rev_media
,您的相关名称,应提供所有将其作为外键的评论:

blaw = Media.objects.all()
for a in blaw:
    print media.rev_media.all()

由于您有一个
相关的\u名称
,因此可以使用
a.rev\u media.all()
获取相关对象的列表

现在,您可以执行以下操作:

media_qs = Media.objects.all()
for media in media_qs:
    reviews = media.rev_media.all() #basically, this is the queryset of all the associated reviews for this media object.
    if reviews.exists():

        print ", ".join([review.message for review in reviews])

你查过文件了吗?我试图遵循“向后”部分中的“跟随关系”,但在如何对每个条目进行排序方面遇到了困难。遵循这一部分,我发现“媒体”对象没有属性“review\u set”,为什么不遵循他们的教程,使用他们的代码示例呢?您可以在之后更改名称,“书籍”和“作者”与“媒体和评论”没有太大区别?它们的示例是“b.entry\u set.all()”-您是否调用了_set.all()?没有。(即使在将媒体更改为a(以防a.media.review_集))之后,我也会得到:“media”对象没有属性“review_集”。对不起,我没有看到您有相关的_名称。现在怎么说呢?啊,另一个答案是这样的。那一个是正确的。这起作用了,谢谢。我似乎无法成功。很高兴它起了作用。djangodocs中关于反向关系的文档不是很详细,我同意!!