Есть база данных: таблица с заказами (OrdersTbl включает номер заказа, наименование и т.д.) и таблица с планом начала выполнения заказа (BeginingTbl зависит от OrdersTbl ).
Задача: вывести в html общую таблицу. Гугл подсказал несколько вариантов, один из них даже “почти” заработал, только криво. Результат: первая таблица выводится нормально, а вторая, выводится со смещением на строку, как то так:
1 numorder1 nameorder1
2 numorder2 nameorder2
percentbegining1
percentbegining2
Вопрос: как реализовать вывод в одну таблицу (в идеале без лишних итераций, потому что на самом деле таблицы большие и данных там тоже будет достаточно много), например чтобы получилось так:
1 numorder1 nameorder1 percentbegining1
2 numorder2 nameorder2 percentbegining2
модель:
class OrderTbl(models.Model):
idOrder = models.AutoField(primary_key=True, db_column='idOrder') # Field name made lowercase.
numorder = models.CharField(max_length=45, db_column='numOrder') # Field name made lowercase.
nameorder = models.CharField(max_length=765, db_column='nameOrder') # Field name made lowercase.
class Meta:
db_table = u'Order_tbl'
def __unicode__(self):
return '%s %s %s' % (self.idOrder, self.numorder, self.nameorder, )
class BeginigTbl(models.Model):
idbeginig = models.AutoField(primary_key=True, db_column='idBeginig')
percentbegining = models.IntegerField(null=True, db_column='percentBegining', blank=True)
order_tbl_idorder = models.ForeignKey(OrderTbl, db_column='Order_tbl_idOrder')
class Meta:
db_table = u'Beginig_tbl'
def __unicode__(self):
return '%s' % (self.percentbegining)
def MPlan_view(request):
order = OrderTbl.objects.all().order_by('idOrder')
begin = BeginigTbl.objects.all()
matches = list(chain(order,begin))
return render_to_response('MPlan_view.html',{'matches': matches})
<html>
<body>
<table border="2">
{% for i in matches %}
<tr>
<td>{{ i.idOrder }}</td>
<td>{{ i.numorder }}</td>
<td>{{ i.nameorder }}</td>
<td>{{ i.percentbegining }}</td>
</tr>
{% endfor %}
</table>
</body>
</html>