Форматирование выходной таблицы в шаблоне из django.model

Я создаю приложение-агрегатор курсов валют. У меня есть следующие модели.

class Bank(models.Model):

    bank_name = models.CharField(
        max_length=30,
        blank=False,
        unique=True,
    )


class ExchangeRate(models.Model):
    USD_in = 'USD_in'
    USD_out = 'USD_out'
    EUR_in = 'EUR_in'
    EUR_out = 'EUR_out'
    RUB_in = 'RUB_in'
    RUB_out = 'RUB_out'
    USD_EUR_in = 'USD_EUR_in'
    USD_EUR_out = 'USD_EUR_out'

    exchange_choise = [
        (USD_in, 'USD_in'),
        (USD_out, 'USD_out'),
        (EUR_in, 'EUR_in'),
        (EUR_out, 'EUR_out'),
        (RUB_in, 'RUB_in'),
        (RUB_out, 'RUB_out'),
        (USD_EUR_in, 'USD_EUR_in'),
        (USD_EUR_out, 'USD_EUR_out'),
    ]

    datetime = models.DateTimeField(
        auto_now_add=True,
        blank=False,
    )
    exchange_type = models.CharField(
        max_length=12,
        choices=exchange_choise,
    )
    rate = models.FloatField()    
    bank_id = models.ForeignKey(
        Bank,
        on_delete=models.CASCADE,
        )
    quantity = models.IntegerField(
        default=1,
    )

По сути, это две таблицы. В одной хранятся названия банков, в другой - обмен валют и их курсы.

Если я выведу данные из модели как есть, то получу следующую картину: output

Обратите внимание, что каждый курс обмена валюты занимает одну строку (время даты, валюта, курс, банк). И я хочу отобразить курсы в формате таблицы на веб-странице.

desired result

Интересно, как я могу это сделать? Нужно ли мне выполнить какую-то операцию объединения или написать код в шаблоне, чтобы отформатировать его таким образом.

Вернуться на верх