使用用户 manyTomany 过滤对象 manyTomany

时间:2021-05-11 16:59:45

标签: python django django-models

我想通过用户 Foo 的 manyTomany 字段 bar 过滤模型 bar

模型

class User(models.Model):
  bar = models.ManyToManyField("Bar", verbose_name=_("Bar"), blank=True)

class Foo(models.Model):
  bar = models.ManyToManyField("Bar", verbose_name=_("Bar"), blank=True)

class Bar(models.Model):
  fubar = models.CharField()

有了这个

<块引用>

user = User.objects.get(id=user_id)

我想获取所有与用户具有相同 Bar 的 Foo。 我希望这个工作:

<块引用>

bar = Foo.objects.filter(foo=user.foo)

但它不起作用。

1 个答案:

答案 0 :(得分:1)

foos = Foo.objects.filter(bar__in=user.bar.all())