Django. Вывод данных ForeignKey в шаблон - Python

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

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

Есть 2 модели:
Листинг программы
  1. class shops_cafe(models.Model):
  2. cafe_name = models.CharField(max_length=255, unique=True, verbose_name="Название", help_text="Название")
  3. cafe_status = models.NullBooleanField(verbose_name="Статус", blank=True, default=None)
  4. cafe_like = models.IntegerField(default=0, verbose_name="Лайки", null=True, blank=True)
  5. cafe_added = models.ForeignKey(AuthUser, verbose_name="Добавил", null=True, blank=True)
  6. cafe_logo = models.ImageField(upload_to='cafe_logo', blank=False, null=False, default='cafe_logo/default_logo.jpg', verbose_name="Логотип", help_text="Логотип")
  7. cafe_info = models.CharField(max_length=1024, null=True, blank=True, verbose_name="Краткое описание", help_text="Краткое описание")
  8. cafe_web = models.URLField(null=True, blank=True, verbose_name="Веб-сайт", help_text="Веб-сайт")
  9. cafe_adres = models.CharField(max_length=512, verbose_name="Адрес", help_text="Адрес", null=True, blank=True)
  10. cafe_phone = models.CharField(max_length=50, null=True, blank=True, verbose_name="Номер телефона", help_text="Номер телефона")
  11. class Meta():
  12. db_table = "Кафе/рестораны"
  13. def __str__(self):
  14. return self.cafe_name
и
Листинг программы
  1. class shops_cafe_com(models.Model):
  2. shc_create_date = models.DateTimeField(default=timezone.now(), verbose_name="Дата создания")
  3. shc_text = models.TextField(max_length=3000, verbose_name="Текст", help_text="Максимальная длина")
  4. shc_cafe = models.ForeignKey(shops_cafe, verbose_name="Кафе/ресторан")
  5. shc_create_name = models.ForeignKey(AuthUser, verbose_name="Добавил")
  6. class Meta():
  7. db_table = "Кафе/рестораны_комментарии"
как видно коменты- дочерняя , shops_cafe - родительская. В view организую все через пагинатор и в шаблон вывожу список (for...) из shops_cafe:
Листинг программы
  1. def ...(request, page_number=1):
  2. ...
  3. all_cafe = shops_cafe.objects.filter(cafe_status="1").order_by('-cafe_like')
  4. current_page = Paginator(all_cafe, 3)
  5. args['cafes'] = current_page.page(page_number)
  6. return render_to_response("shops.html", args, context_instance=RequestContext(request))
соответственно в шаблоне уже , например {{ cafe.cafe_name }} и т.д. Вопрос: как мне вывести данные из дочерней модели? Т.е. требуется рядом с {{ cafe.cafe_name }} вывести кол-во комментариев из shops_cafe_com

Решение задачи: «Django. Вывод данных ForeignKey в шаблон»

textual
Листинг программы
  1. {{ cafe.shops_cafe_com_set.count }}

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


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

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

9   голосов , оценка 3.778 из 5

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

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

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