Как отобразить данные обратного отношения в Django с уникальным заголовком?

У меня есть 2 модели, и я хочу отобразить данные на моем шаблоне, но в настоящее время они отражаются в другом приложении. Я создал динамический заголовок и он отлично работает в реальном времени, но он конфликтует с другими приложениями. Не могли бы вы мне помочь?

Я хочу отобразить данные по ListingTech моделям, а ListingTech модели имеют несколько данных Listing, поэтому они должны отображаться под слогом модели ListingTech. Модель ListingTech имеет несколько Listing, поэтому title and description должна отображаться ListingTech. Все работает нормально с текущим кодом файла views.py, но он выдает ошибку всякий раз, когда я пытаюсь получить доступ к URL другого приложения (Ошибка: The view company.views.company_list didn't return an HttpResponse object. It returned None instead.). Пожалуйста, решите эту проблему, ваша помощь будет оценена по достоинству.

Вот мой models.py файл...

class ListingTech(models.Model):
    city = models.ForeignKey(City, default=None, related_name="ListTechCity", on_delete=models.CASCADE, help_text=f"Value: Select City")
    name = models.CharField(max_length=60, default=None, help_text=f'Type: String, Values: Enter Company Name')
    slug= models.SlugField(max_length=60, unique=True, help_text=f'Type: String, Values: Enter Slug')
    title = models.CharField(max_length=100, null=True, blank=True, verbose_name="Meta Title", help_text=f"Values: Enter ListingTech Title.")
    description = models.TextField(max_length=200, verbose_name="Meta Description", null=True, blank=True, help_text=f'Values: Enter ListingTech Meta Description.')
    listing_img = models.ImageField(upload_to="listing-image", default=None, help_text=f"Enter Listing Image", verbose_name="Upload Image")
    overview=RichTextField(null=True, 
                        blank=True, 
                        verbose_name='Listing Overview',
                        help_text=f"Values: Enter Listing Overview")

вот другая модель

class Listing(models.Model):
    city = models.ForeignKey(City,
                            verbose_name="Select City", 
                            related_name='ListingCIty', null=True, blank=True, on_delete=models.CASCADE, help_text=f"Values: Select Company City")
    listing_technology = models.ForeignKey(ListingTech,
                                verbose_name="Select Listing For", 
                                related_name='ListingTechnology', on_delete=models.CASCADE, help_text=f"Values: Select Company Technology")
    company = models.ForeignKey(Company,
                            verbose_name="Select Company", 
                            related_name='ListingCompany', on_delete=models.CASCADE, help_text=f"Values: Select Company")
    company_url = models.URLField(max_length=256, null=True, blank=True, verbose_name="Company Page URL", help_text=f"Values: Enter Company Page URL")
    listing_overview = models.TextField(max_length=1500, null=True, blank=True, help_text=f'Values: Enter Listing Page Overview.')

вот мой urls.py файл...

re_path(r'^(?P<city_slug>[\w\-]+)/(?P<slug>[\w\-]+)', views.company_list, name="company_list"),

вот мой views.py файл...

def company_list(request, city_slug, slug):
comp_list = Listing.objects.filter(listing_technology__city__slug = city_slug, listing_technology__slug=slug).select_related('company','listing_technology').order_by('-boosted_price')
for item in comp_list:
    if item.listing_technology.title and item.listing_technology.description  != '':
        title= item.listing_technology.title
        description = item.listing_technology.description
        template_name = 'company/list.html'
        context = {'comp_list':comp_list, 'title':title, 'description':description}
        return render(request, template_name, context)
    else:
        this_year = str(datetime.now().year)
        this_month = datetime.strftime(datetime.now(), '%B')
        proj_prop = list(map(lambda x:"Top" + " " + x.listing_technology.name + " " + this_month + " " + this_year, comp_list))
        title = "".join(proj_prop[0])
        prop_desc = list(map(lambda x:x.listing_technology.city.city_name + " " +"Based Top" + " " + x.listing_technology.name + ". " + "Are you looking for the top" + " " + x.listing_technology.name + "" +", Here is the list of top" + " " + x.listing_technology.name, comp_list))
        description = "".join(prop_desc[0])
        template_name = 'company/list.html'
        context = {'comp_list':comp_list, 'title':title, 'description':description}
        return render(request, template_name, context)
Вернуться на верх