Django ForeignKey 获取结果

Django ForeignKey getting results

我尝试了其他问题,但仍然遇到一些问题。

我有 2 个模型:

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,您的 related_name,应该会为您提供所有将其作为外键的评论:

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

因为你有一个 related_name,你可以使用 a.rev_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])