【发布时间】:2011-05-15 18:53:09
【问题描述】:
嗨,我在 django 对象上有很多 2 many 字段,
Foo 酒吧
所以,如果我按 Foo.objects.filter(bar_name_contains='x') 之类的东西过滤 我希望得到所有 Foo 对象与相关 Bar 对象的名称包含 x,
所以在模板中我循环了 Foos,然后循环了 foos 条,但是我得到了该 foo 的所有条,而不仅仅是过滤器过滤的条!
任何帮助表示赞赏
更新了一些示例代码,为简单起见,可能会出现同样的问题..
模型.py
class Foo(models.Model):
bob = models.CharField(max_length=255)
class Bar(models.Model):
wibble = models.CharField(max_length=255)
foos = models.ForeignKey('Foo')
所以对于上述对象,我会说...
foobar = Foo.objects.filter(bob__wibble__icontains='blagh')
我将传递给一个模板进行渲染,我希望所有的 foos 都有一个与查询匹配的条形,并且只有与查询匹配的条形但我不明白,我得到所有的 foos 与一个与查询匹配的条形查询 AND 具有该 foo 作为其外键的每个栏。
即我有一个 foo 我有酒吧 [{'wibble':'blagh'},{'wibble':'blob'},{'wibble':twip'}]
我的模板中有以下内容:
{% for bar in foobar.bar_set.all %}
{{ bar.wibble }},
{% endfor %}
我会得到“blagh,blob,twip”而不是仅仅得到“blagh”
【问题讨论】:
-
能否提供一些代码?
-
你想在模板中做一个过滤器吗??
标签: django many-to-many