Latest posts on Вывод данных из связанных таблиц topichttps://python.su/forum/topic/40036/2021-03-03T08:04:16+02:00Веб-технологии :: Django :: Вывод данных из связанных таблиц
2021-03-03T08:04:16+02:00Jimy215124Вопрос снят. Если кому интересно, то так… Не знаю, верно ли, но работает<img src="/static/djangobb_forum/img/smilies/smile.png" /><br/><div class="code"><pre> <span class="p"><</span><span class="nt">body</span><span class="p">></span>
<span class="cp">{%</span> <span class="k">for</span> <span class="nv">i</span> <span class="k">in</span> <span class="nv">CatList</span> <span class="cp">%}</span>
<span class="p"><</span><span class="nt">ul</span><span class="p">></span>
<span class="p"><</span><span class="nt">li</span><span class="p">><</span><span class="nt">h3</span><span class="p">></span><span class="cp">{{</span><span class="nv">i.title</span><span class="cp">}}</span><span class="p"></</span><span class="nt">h3</span><span class="p">></</span><span class="nt">li</span><span class="p">></span>
<span class="cp">{%</span> <span class="k">for</span> <span class="nv">j</span> <span class="k">in</span> <span class="nv">ProdList</span> <span class="cp">%}</span>
<span class="p"><</span><span class="nt">ul</span><span class="p">></span>
<span class="cp">{%</span> <span class="k">if</span> <span class="nv">i.pk</span> <span class="o">==</span> <span class="nv">j.category_id</span> <span class="cp">%}</span>
<span class="p"><</span><span class="nt">li</span><span class="p">></span><span class="cp">{{</span><span class="nv">j.title</span><span class="cp">}}</span><span class="p"></</span><span class="nt">li</span><span class="p">></span>
<span class="cp">{%</span> <span class="k">endif</span> <span class="cp">%}</span>
<span class="p"></</span><span class="nt">ul</span><span class="p">></span>
<span class="cp">{%</span> <span class="k">endfor</span> <span class="cp">%}</span>
<span class="p"></</span><span class="nt">ul</span><span class="p">></span>
<span class="cp">{%</span> <span class="k">endfor</span> <span class="cp">%}</span>
</pre></div>
Веб-технологии :: Django :: Вывод данных из связанных таблиц
2021-03-01T11:49:54+02:00Jimy215086from django.db import models<br/><br/># Create your models here.<br/><div class="code"><pre> <span class="k">class</span> <span class="nc">Products</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
<span class="n">title</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">150</span><span class="p">,</span><span class="n">verbose_name</span><span class="o">=</span><span class="s1">'Наименование блюда'</span><span class="p">)</span>
<span class="n">output</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span><span class="n">verbose_name</span><span class="o">=</span><span class="s1">'Выход'</span><span class="p">)</span>
<span class="n">price</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">FloatField</span><span class="p">(</span><span class="s1">'Цена'</span><span class="p">)</span>
<span class="n">created_at</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="s1">'Дата создания'</span><span class="p">,</span><span class="n">auto_now_add</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">is_published</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="bp">True</span> <span class="p">,</span><span class="n">verbose_name</span><span class="o">=</span><span class="s1">'Показ'</span><span class="p">)</span>
<span class="n">photos</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">ImageField</span><span class="p">(</span><span class="n">upload_to</span><span class="o">=</span><span class="s1">'photos/%Y/%m/</span><span class="si">%d</span><span class="s1">/'</span><span class="p">,</span><span class="n">blank</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">category</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="s1">'Category'</span><span class="p">,</span><span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">PROTECT</span><span class="p">,</span><span class="n">null</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span><span class="n">verbose_name</span><span class="o">=</span><span class="s1">'Категория'</span><span class="p">)</span>
<span class="k">def</span> <span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">title</span>
<span class="k">class</span> <span class="nc">Meta</span><span class="p">:</span>
<span class="n">verbose_name</span><span class="o">=</span><span class="s2">"Наименование"</span>
<span class="n">verbose_name_plural</span><span class="o">=</span><span class="s2">"Наименования"</span>
<span class="n">ordering</span><span class="o">=</span><span class="p">[</span><span class="s1">'category'</span><span class="p">,</span><span class="s1">'title'</span><span class="p">,</span><span class="s1">'price'</span><span class="p">]</span>
<span class="k">class</span> <span class="nc">Category</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
<span class="n">title</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span><span class="n">db_index</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span><span class="n">verbose_name</span><span class="o">=</span><span class="s1">'Категория'</span><span class="p">)</span>
<span class="n">photos</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ImageField</span><span class="p">(</span><span class="n">upload_to</span><span class="o">=</span><span class="s1">'photos/%Y/%m/</span><span class="si">%d</span><span class="s1">/'</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="k">def</span> <span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">title</span>
<span class="k">class</span> <span class="nc">Meta</span><span class="p">:</span>
<span class="n">verbose_name</span><span class="o">=</span><span class="s2">"Категория"</span>
<span class="n">verbose_name_plural</span><span class="o">=</span><span class="s2">"Категории"</span>
<span class="n">ordering</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'title'</span><span class="p">]</span>
</pre></div>Хочу получить примерно так:<br/><strong>Первые блюда</strong><br/> Борщ<br/> Суп<br/> Еще какое то блюдо<br/><strong>Вторые блюда:</strong><br/> Котлеты<br/> Еще что-то….<br/><br/>Я там во вью написал цикл. Выводит на печать в консоль. Выводит правильно. А как в шаблоне то сделать? <img src="/static/djangobb_forum/img/smilies/sad.png" />
Веб-технологии :: Django :: Вывод данных из связанных таблиц
2021-03-01T10:12:23+02:00xam1816215084<blockquote><em>Jimy</em><br/>Вот есть две связанные таблицы</blockquote>Покажи настоящие таблицы, которые должны быть на входе, и напиши что должно получится на выходе,в каком виде.
Веб-технологии :: Django :: Вывод данных из связанных таблиц
2021-03-01T09:12:30+02:00Jimy215083Добрый день! Вот есть две связанные таблицы. Нужно вывести данные из обоих. Сначала из первой (Наименование категории), затем относящиеся к этой категории товары из второй таблицы. Затем вторая категория, связанные с ней товары и так далее… Мне не важно, как их выводить, таблицей или вложенным списком, все равно… Я не прошу готовый код, просто подскажите принцип, как в цикле пройтись по таблицам и вывести в шаблон. А может, не в цикле? Я новичок в Джанго, вот туплю с такой простой задачей… Спасибо! <br/>p.s. Я знаю как вывести список категорий в виде ссылок и получить связанные с ними товары при клике на определенную ссылку. Но мне надо сначала общий список с категориями и связанными с ними товарами <br/><ul><li>Категория 1<br/>Товар 1 категории 1<br/>Товар 1 категории 1<br/>Категория 2<br/>Товар 1 категории 2<br/>Товар 1 категории 2<br/></li></ul>……