Вывод списка значений из базы данных с помощью цикла for в шаблонизаторе jinja
На html страничке я хочу вывести список всех значений двух таблиц из своей БД. Однако проблема заключается в том, что он почему-то не выводит некоторые значения. Работаю на Python 3.9.7, использую Django=4.0.6, django-bootstrap4=22.1
Репозиторий: https://github.com/The-Vlad/eAnalytics/tree/csv
Файл connections.html
{% for object, csv in connections %}
<li>{{ object.name }} ||| {{ csv.file }} {{ object.datetime }}</li>
{% endfor %}
{% endblock %}
В модуле views я использую словарь context, где передаю по ключу 'connections' список списков объектов моделей.
Файл views.py
@login_required
def list(request, page):
context = {}
try:
template = get_template('main/' + page + '.html')
context['connections'] = [model.Connection.objects.all(), model.CSV_File.objects.all()]
except TemplateDoesNotExist:
raise Http404
return HttpResponse(template.render(context=context,request=request))
Файл models.py
class Connection(models.Model):
CONNECTION_TYPE_CHOICES = [
('CSV', 'CSV file'),
('PG', 'PostgreSQL'),
]
user_id = models.ForeignKey('AdvUser', on_delete=models.CASCADE)
name = models.CharField(max_length=45, null=False)
connection_type = models.CharField(max_length=10, choices=CONNECTION_TYPE_CHOICES, default='CSV')
datetime = models.DateTimeField(auto_now_add=True)
class Meta:
ordering=['-datetime']
db_table = 'connections'
verbose_name = 'подключение'
verbose_name_plural = 'подключения'
def __str__(self):
return str(self.name)
class CSV_File(models.Model):
file = models.FileField(upload_to='csv_files')
connection_id = models.ForeignKey('Connection', on_delete=models.CASCADE, null=False, default=1)
datetime = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ['-datetime']
db_table = 'csv_files'
verbose_name = 'csv файл'
verbose_name_plural = 'csv файлы'
def __str__(self):
return str(self.file)
Содержимое базы данных в PostgreSQL:
модель connections:
модель csv_files: