Есть 2 модели: develop(застройщик) и dom(дом). Нужно вывести на странице дома ссылку на страницу застройщика и название застройщика. Мой вариант не работает.
html:
{% for develop in dom.develops.all %}
<a href="{{ develop.get_absolute_url }}">{{ develop.name }}</a>
{% endfor %}
models.py
class develop(models.Model):
''''Застройщик'''
name = models.CharField("Имя", max_length=100)
tel = models.CharField("телефон", max_length=20)
description = models.TextField("Описание")
image = models.ImageField("Изображение", upload_to="develop/")
url = models.SlugField(max_length=160, unique=True)
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('develop_detail', kwargs={"slug": self.slug})
class Meta:
verbose_name = "Застройщик"
verbose_name_plural = "Застройщики"
class dom(models.Model):
'''Карточка новостроки'''
title = models.CharField("дом", max_length=150)
description = models.TextField("Описание")
url = models.SlugField(max_length=160, unique=True)
image = models.ImageField("Изображение", upload_to="dom/")
develops = models.ForeignKey(
develop, verbose_name="застройщик", on_delete=models.SET_NULL, null=True, related_name="dom_develop")
adres = models.CharField("Адрес", max_length=250)
koordinata = models.CharField("координаты", max_length=250)
kvartir = models.CharField("Квартиры", max_length=250)
draft = models.BooleanField("Черновик", default=False)
burgetm = models.PositiveIntegerField("Цена", default=0, help_text="за квадрат")
year = models.PositiveSmallIntegerField("Дата выхода", default=2019)
budget = models.PositiveIntegerField("цена", default=0)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse("dom_detail", kwargs={"slug": self.url})
views.py
class newdomsView(ListView):
"""Список фильмов"""
model = dom
queryset = dom.objects.filter(draft=False)
template_name = "newdoms/dom_list.html"
class NovostroykaDetailView(DetailView):
'''описание фильма'''
model = dom
slug_field = "url"
class developView(DetailView):
'''описание застройщика'''
model = develop
template_name = 'newdoms/develop.html'
slug_field = "url"