从查询集中获取查询集

时间:2016-06-15 20:42:03

标签: python django python-3.x

我有 yourproject+ | +-yourproject | | | +urls.py | | | +settings.py | | | +wsgi.py | +manage.py | +static_files | +static 的查询集。图片模型有" contest_ID"作为外键。

我希望获得一个包含图片的竞赛的查询集,所以从我已经拥有的查询集中,如何提取竞赛对象列表?

2 个答案:

答案 0 :(得分:2)

您只需要关注reverse relations

$(function () {
  $(document).on('scroll', function (ev) {
    if ($(document).scrollTop() === 0) {
      $('your-element-selector').removeClass('foo');
    } else {
      $('your-element-selector').addClass('foo');
    }
  });
});

答案 1 :(得分:0)

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

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))

可能有一种更简单的方法