繁体   English   中英

从查询集中获取查询集

[英]Get a queryset from a queryset

我有一个来自Picture.objects.filter(user_ID=user) 图片模型具有“ contest_ID”作为外键。

我正在寻找具有图片的竞赛查询集,因此从已经拥有的查询集中,如何提取竞赛对象列表?

您只需要遵循反向关系即可

user_contests = Contest.objects.filter(picture__user=user)

我认为您的模型看起来像这样

class Contest(Model):
    ... something ...

class Picture(Model):
    user = ForeignKey(User)
    contest = ForeignKey(Contest)
    ... something ...

因此, Picture.objects.filter(user=user)为您提供特定用户的图片(不必指定_id,过滤器可以在模型对象上正常运行)。 要获得特定用户的图片竞赛,您可以

pics_by_user = Picture.objects.filter(user=user)
contests_by_user = Contest.objects.filter(id__in=pics_by_user.values_list('contest', flat=True))

也许有更简单的方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM