Django таблица html по модели - Python

Узнай цену своей работы

Формулировка задачи:

Подскажите как с джанго по модели вывести в темплейт таблицу вида:
Листинг программы
  1. from django.db import models
  2.  
  3. class Subdivision(models.Model):
  4. subdivision = models.CharField(max_length=100)
  5. def __str__(self):
  6. return self.subdivision
  7.  
  8. class Service(models.Model):
  9. service = models.CharField(max_length=150)
  10. subdivision = models.ForeignKey(Subdivision, blank=True, null=True)
  11. def __str__(self):
  12. return self.service
  13.  
  14. class PriceWeight(models.Model):
  15. price = models.FloatField(blank=True, null=True)
  16. price_crops = models.FloatField(blank=True, null=True)
  17. price_sunflower = models.FloatField(blank=True, null=True)
  18. price_rape = models.FloatField(blank=True, null=True)
  19. price_corn = models.FloatField(blank=True, null=True)
  20. services = models.ForeignKey(Service, blank=False, null=False)

Решение задачи: «Django таблица html по модели»

textual
Листинг программы
  1. {% block content %}
  2.  
  3.     <table border="1">
  4.         <tr>
  5.             <th>SUBDIVISION</th>
  6.             <th>SERVICE</th>
  7.             <th>PRICE1</th>
  8.             <th>PRICE2</th>
  9.             <th>PRICE3</th>
  10.             <th>PRICE4</th>
  11.             <th>PRICE5</th>
  12.         </tr>
  13.  
  14.         {% for sbd in subs %}
  15.             <tr>
  16.                 <td {% if sbd.services.count > 1 %} rowspan="{{ sbd.services.count }}" {% endif %}> {{ sbd }}</td>
  17.                 <td> {{ sbd.services.0 }} </td>
  18.                 {% for p in sbd.services.0.prices %}
  19.                     <td> {{ p }} </td>
  20.                 {% endfor %}
  21.             </tr>
  22.  
  23.             {% for service in sbd.services.all|slice:"1:" %}
  24.                 <tr>
  25.                     <td> {{ service }} </td>
  26.                     {% for p in service.prices %}
  27.                         <td> {{ p }} </td>
  28.                     {% endfor %}
  29.                 </tr>
  30.             {% endfor %}
  31.         {% endfor %}
  32.  
  33.     </table>
  34. {% endblock %}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы