Ush*_*her 6 django prefetch django-queryset
这是一个场景,一个包含多个投标的项目模型。
Class Project(models.Model):
    user = models.ForeignKey()
Class Bid(models.Model):
    project = models.ForeignKey(Project, related_name='bids')
当我们查询项目时,我们想要预取项目的投标。
Project.objects.filter(whatever condition).prefetch_related(
     Prefetch('bids', queryset=Bid.objects.all())
)
这里我们只想获取属于过滤项目的投标,而不是所有投标,我们如何指定呢?我期待类似的事情
queryset=Bid.objects.filter(project=project?)... 
谢谢。
Project.objects.filter(whatever condition).prefetch_related(\n     Prefetch('bids', queryset=Bid.objects.all())\n)\n这看起来不错。Django 将只为您获取相关出价。请注意,在这种情况下您不需要\xe2\x80\x99 Prefetch。你可以这样做:
Project.objects.filter(whatever condition).prefetch_related('bids')\n如果您想过滤查询集,这Prefetch很有用,例如:
Project.objects.filter(whatever condition).prefetch_related(\n     Prefetch('winning_bids', queryset=Bid.objects.filter(status='WINNING'))\n)\n