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