Если мы посмотрим, что такое part_num
, то увидим:
rfq['part_num'] = Bom.objects.values('partnum').filter(bom__exact='07-00-000019')
Это QuerySet
, QuerySet
- это какой-то запрос, который приводит к набору объектов.Вы создаете такие QuerySet
s с помощью ORM Django (что вы здесь делаете).
Чтобы получить элементы в QuerySet
, вы можете перебирать элементы и, например, обрабатывать их по отдельности..
В шаблоне мы можем, например, написать:
<td>
<ul style="list-style-type:none">
<li><b>{% for part in bom.part_num %} {{ part.part_num }} {% endfor %}</b></li>
</ul>
</td>
Таким образом, мы перебираем QuerySet
, затем каждый раз получаем словарь (который был заключен в QuerySet
и мы отображаем значение, соответствующее ключу 'part_num'
в словаре. Конечно, мы можем сделать его более сложным (например, использовать директивы разметки HTML, например, {% for part in bom.part_num %} <b>{{ part.part_num }}</b> {% endfor %}
, чтобы выделить его жирным шрифтом.
Я использую этот список для объединения этих таблиц, а не ForeignKeys, потому что мне было ужасно сложно заставить свои базы данных SQL правильно заполняться с использованием SQLAlchemy и Postgres и прочитать, что с этим были известные проблемы, поэтому я отказался от этого метода.
Я бы действительно посоветовал использовать ForeignKey
s, ManyToManyField
s и т. Д. Для представления отношений между сущностями. Django не только позволитчтобы сделать более выразительные запросы, он также добавит ограничения в базу данных, так что столбцы, которые соответствуют ForeignKey
, всегда будут указывать на первичный ключ таблицы, на которую они указывают, и т. д. В случае, если вы, например, удалите упомянутыйсубъект, вы можете определить триггеры, что делать (удалить связанные объекты, установить столбец внешнего ключа в NULL
и т. д.)Возможно, следуя инструкции Django , вы сможете получить некоторую необходимую информацию для продолжения.
Конечно, вы можете разрабатывать и реализовывать проект так, как вам нравится, но мой личный опыт заключается в том, что он будетвероятно, в конечном итоге приведет к большим неприятностям.