Как отобразить в шаблоне django информацию о модели manytomany
Я занимаюсь django, но у меня не получается отобразить следующую информацию из базы данных в шаблоне.
У меня есть эти 3 модели (заказы на покупку, движения, поступления):
class Ordenes_Compra(models.Model):
orden_compra=models.IntegerField(primary_key=True)
proveedor=models.ForeignKey(Proveedores, on_delete=models.CASCADE)
comedor=models.ForeignKey(Centros, on_delete=models.CASCADE)
fecha_documento=models.DateField()
fecha_entrega=models.DateField()
class Meta():
verbose_name='Orden de compra'
verbose_name_plural="Ordenes de compra"
class Movimientos(models.Model):
movimientos = \[
('ING', 'INGRESO'),
('SAL', 'SALIDA'),
\]
estados = \[
('PRO', 'PROCESADO'),
('ANA', 'ANALIZADO'),
('PEN', 'PENDIENTE'),
('CAN', 'CANCELADO'),
\]
cantidad_um=models.DecimalField(decimal_places=3, max_digits=20)
precio_por_um=models.DecimalField(decimal_places=3, max_digits=20)
mat_um=models.ForeignKey(Materiales, on_delete=models.CASCADE, editable=True)
orden_compra_mov=models.ForeignKey(Ordenes_Compra,on_delete=models.CASCADE)
tipo_movimiento=models.CharField(max_length=3, choices=movimientos, blank=True, null=True)
estado_movimiento=models.CharField(max_length=3, choices=estados, blank=True, null=True)
class Meta():
verbose_name='Movimiento'
verbose_name_plural="Movimientos"
class Imagenes_Comprobantes_Moviemientos (models.Model):
imagen_factura=models.ImageField(null=True, blank=True)
factura=models.CharField(max_length=20)
orden_compra_imagen=models.ManyToManyField(Ordenes_Compra)
class Meta():
verbose_name='Comprobante'
verbose_name_plural="Comprobantes"
Каждый заказ на покупку может иметь несколько связанных с ним ваучеров, а несколько ваучеров могут иметь разные заказы на покупку.
В шаблоне я собираюсь показать таблицу с движениями, из которой я хочу предоставить информацию о заказах на поставку, связанных с этим движением, и о PROOFS, связанных с этими заказами на поставку:
Я думал о чем-то подобном, но это не работает, и я совершенно потерян в том, что было бы лучшим способом получить информацию о квитанциях, связанных с заказом на покупку, связанным с движением в шаблоне:
ВТОРОЙ - ЭТО ТОТ, В КОТОРОМ Я ДЕЛАЮ ЗАПРОС, КОТОРЫЙ НЕ МОЖЕТ БЫТЬ РАЗРЕШЕН
{% for registro in movimientos %}
<tr>
<td>{{registro.cantidad_um|floatformat:2}}</td>
<td>{{registro.orden_compra_mov.orden_compra}}</td>
<td>{{registro.orden_compra_mov.comedor.nombre_centro}}</td>
<td>
{% for comprobante in registro.orden_compra_mov.orden_compra %}
{{comprobante}}
{% endfor %}
</td>
Спасибо за помощь!
(в случае необходимости я выхожу из просмотра)
def movimientos(request):
movimientos = Movimientos.objects.annotate(total=F('precio_por_um') \* F('cantidad_um'))
return render(request, 'app/movimientos.html', {'movimientos':movimientos})
Проблема при желании увидеть в шаблоне данные из базы данных postgresql отношения "многие-ко-многим"