Article View: pl.comp.lang.python
Article #27815Re: Django i pole manytomany w template
From: Łukasz Rekucki
Date: Thu, 25 Nov 2010 10:26
Date: Thu, 25 Nov 2010 10:26
41 lines
2522 bytes
2522 bytes
On Nov 25, 12:04 am, ds <ad...@email.pl> wrote:
> ds wrote:
> > Czy jest jakaś możliwość żeby sprawdzić w szablonie czy dane pole
> > onetomany lub manytomany zawiera określony element?
>
> > Załóżmy że mam obiekt "garaz" a wnim pole "model auta" (jeden do wielu) -
> > głupi przykład ale obrazujący to co chcę osiągnąć. Chcę wylistować
> > wszystkie garaże a przy tym który ma w sobie "fiata" napisać że jest. Do
> > szablonu przekazuję garaże.
>
> Zrobiłem połowicznie i nieładnie jakoś mi się nie chce wierzyć że nie ma
> rozwiązania:
>
> {% for auto in garaz.auta.all %}
> {% if auto.id == moje.id %}
> JEST
> {% endif %}
> {% endfor %}
>
> Tylko są dwa problemy:
>
> 1. nie podoba mi się takie pętlenie. Przy np. 1000 garaży gdzie każdy ma po
> kilkadziesiąt modeli tych pętli będzie bez liku
>
> 2. nie wiem jak to rozwiązać gdy będę chciał wyświetlać JEST/NIE MA
Ładnym rozwiązaniem, jest nie robienie tego w szablonie. Szablony
Django nie powinny zawierać logiki.
# views.py
render_to_response("cars.html", {"garages_with_modelX":
Garage.objects.filter(model_auta=fiat.pk)
# cars.html
Model fiat znajduje się w:
{% for garage in garages_with_modelX %} {{ garage.address }} {%
endfor %}
Technical Details
Message-ID:
<98c04af0-787c-44f0-b7a1-2e7f8753c0c5@s4g2000yql.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!s4g2000yql.googlegroups.com!not-for-mailReferences:
<ick2ui$8gu$1@news.onet.pl> <ick5m2$gv4$1@news.onet.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!s4g2000yql.googlegroups.com!not-for-mail From: Łukasz Rekucki <lrekucki@gmail.com> Newsgroups: pl.comp.lang.python Subject: Re: Django i pole manytomany w template Date: Thu, 25 Nov 2010 02:26:23 -0800 (PST) Organization: http://groups.google.com Lines: 49 Message-ID: <98c04af0-787c-44f0-b7a1-2e7f8753c0c5@s4g2000yql.googlegroups.com> References: <ick2ui$8gu$1@news.onet.pl> <ick5m2$gv4$1@news.onet.pl> NNTP-Posting-Host: 212.76.62.207 Mime-Version: 1.0 X-Trace: posting.google.com 1290680783 21790 127.0.0.1 (25 Nov 2010 10:26:23 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Thu, 25 Nov 2010 10:26:23 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: s4g2000yql.googlegroups.com; posting-host=212.76.62.207; posting-account=5fpXZwoAAADF-CUdCuJ-FpYxG8__-wRx User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.12 (KHTML, like Gecko) Chrome/9.0.576.0 Safari/534.12,gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit