@Keltor
Пока никто

Как вывести данные из бд таблицей на сайт?

Как вывести данные на сайт в таблицу так, как это показано на картинке?
Сложность состоит в том, что в базе лежат повторяющиеся данные, тоесть для условного 2018.05.30 есть три записи для разных людей
5b0edc86a48f8576543869.png
модели:
class School_class(models.Model):
    school_class = models.CharField(max_length=10, help_text = 'Класс')
    def __str__(self):
        return self.school_class

class People(models.Model):
    first_name = models.CharField(max_length=100, help_text = 'Имя учащегося')
    last_name = models.CharField(max_length=100, help_text = 'Фамилия учащегося')
    school_class = models.ForeignKey(School_class, help_text = 'Класс ученика', on_delete = models.SET_NULL, null=True)
    def __str__(self):
        return '{} {}'.format(self.first_name, self.last_name)

class State(models.Model):
    date = models.DateField(help_text = 'Дата')
    status = models.CharField(max_length=10, choices = (
        ('+', '+'),
        ('-', '-')
        ))
    people = models.ForeignKey(People, help_text = 'Фамилия, имя учащегося', on_delete = models.SET_NULL, null=True)

    def __str__(self):
        return '{} {}'.format(self.date, self.people.__str__())

    def get_absolute_url(self):
        return reverse('date-detail', args=[str(self.id)])

    class Meta:
        ordering = ['date']
  • Вопрос задан
  • 229 просмотров
Пригласить эксперта
Ответы на вопрос 2
@vikholodov
people = models.ForeignKey(People, help_text = 'Фамилия, имя учащегося', on_delete = models.SET_NULL, null=True, related_name="peoples")
date_list = State.objects.all()
for obj in date_list:
    for person in obj.peoples:
        person.name
        person.status
Ответ написан
@ma3xak
Только что выводил таблицей bootstrap, просто сделал таблицу и вывожу содержимое,
Вот мой пример возможно он будет полезен
<table class="table">
       	<thead>
       		<tr>
       			<th>Пользователь</th>
       			<th>Дата займа</th>
       			<th>Дата погашения</th>
       			<th>Сумма займа</th>
       			<th>Количество платежей</th>
       			<th>Статус</th>
       		</tr>
       	</thead>
       	<tbody>
       		{% for user_zaim in new_zaim  %}
       		<tr scope = "row">
       			<th>{{ user_zaim.user_zaim }}</th>
       			<th>{{ user_zaim.date_zaim }}</th>
       			<th>{{ user_zaim.date_success }}</th>
       			<th>{{ user_zaim.summa_zaim }}</th>
       			<th>{{ user_zaim.platej }}</th>
       			<th>{{ user_zaim.status}}</th>      			
       		</tr>
       		{% endfor %}

       	</tbody>
       </table>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы