Привет, у меня есть поле много-много-много на объекте django,
Foo <=> Bar
, поэтому, если я фильтрую что-то вроде Foo.objects.filter (bar_ name _contains = 'x') Я ожидаю получить все объекты Foo со связанными объектами Bar, имеющими имя, содержащее x,
Так что в шаблоне я зацикливаюсь на Foos, затем на барах Foos, НО я получаюВСЕ столбцы для этого foo, а не только те, которые отфильтрованы фильтром!
Любая помощь оценена
Обновлен, некоторые примеры кода, для простоты, применима та же проблема..
Models.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, соответствующие запросу, И каждый бар, в котором этот foo является ключом Foriegn.
то есть у меня для одного фу у меня есть бары [{'wibble': 'blagh'}, {'wibble': 'blob'}, {'wibble': twip '}]
У меня есть следующее в моем шаблоне:
{% for bar in foobar.bar_set.all %}
{{ bar.wibble }},
{% endfor %}
вместо того, чтобы просто получить "бла", я бы получил "бла, блоб, твип"