#python #database #sqlite #django-models
#питон #База данных #sqlite #django-модели
Вопрос:
Вот мои Model_Items:
class Model_Items(models.Model):
title = models.CharField(max_length=20, default='')
manufacturer = models.CharField(max_length=10, default='')
make = models.CharField(max_length=20, default='')
model = models.CharField(max_length=20, default='')
sku = models.CharField(max_length=10, default='')
С которым у По многотоманские отношения:
class Po(models.Model):
po_number = models.CharField(max_length=10, default='')
receive_date = models.DateField(auto_now=False, auto_now_add=False, default='')
model_item = models.ManyToManyField(Model_Items)
site_code = models.CharField(max_length=10, default='')
comment = models.TextField(max_length=50, default='')
Теперь, на мой взгляд, я задаю этот вопрос :
def po_page(request, *args, **kwargs):
po = Po.objects.all()
context = {
'po_list': po,
}
return render(request, 'po/po_page.html', context)
На моем шаблоне:
{% for my_po_list in po_list %}
<div class="card">
<table class="table table-bordered" >
<tr>
<td class="col-md-2">{{ my_po_list.po_number }}</td>
<td class="col-md-2">{{ my_po_list.receive_date }}</td>
<td class="col-md-2">{{ my_po_list.model_item.all }}</td>
<td class="col-md-2">{{ my_po_list.site_code }}</td>
<td class="col-md-2">{{ my_po_list.comment }}</td>
<td class="col-md-2">{{ model }}</td>
</tr>
</table>
</div>
{% endfor %}
Я изо всех сил пытался получить get title из класса Model_Items и отобразить его.
Однако линия с:
{{ my_po_list.model_item.all }}
Вместо этого отображается следующее
<QuerySet [<Model_Items: Mac 16 Dev>, <Model_Items: Mac 13 Std>]>
.
Я знаю, что строка предназначена для этого, но как я могу отфильтровать ее, чтобы она просто отображала заголовок Model_Items.
Ответ №1:
Я бы рекомендовал использовать цикл for для перебора элементов модели. Я также добавил, что вы должны сделать, чтобы добавить запятые между заголовками.
<td class="col-md-2">
{% for model_item in my_po_list.model_item.all %}
{{model_item. title}}{% if not forloop.last %}, {% endif %}
{% endfor %}
</td>