Как взять данные и показать на странице продукт?

Разрабатываю интернет магазин сайт, не могу показать на странице продукт (у меня product_detail.html) даты которые и меня на с Product_details модели, с других моделей могу отобразить даты, например с моделя Product_image и с Category без проблем беру даты. Вроде все этапы сделал но не могу отобразить даты. Прошу помочь. Внизу мой urls.py:

from django.urls import path
from . import views
from .views import ProductListView
from django.conf.urls.static import static

urlpatterns = [
    path('', ProductListView.as_view(), name='amd-home'),
    path('product/<int:id>/', views.product_detail, name='product-detail'),
    path('about/', views.about, name='amd-about'),
]

Внизу мой models.py:

from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User

class Category(models.Model):
    name = models.CharField(max_length=200)
    parent_id = models.IntegerField(default=0)
    description = models.TextField()
    image = models.ImageField(upload_to='uploads/')

    def __str__(self):
        return f'{self.name}'

class Brand(models.Model):
    name = models.CharField(max_length=200)
    description = models.CharField(max_length=400)
    image = models.ImageField(upload_to='uploads/')

    def __str__(self):
        return f'{self.name}'

class Product(models.Model):
    title = models.CharField(max_length=200)
    image = models.ImageField(upload_to='uploads/', blank=True, null=True)
    sku = models.CharField(max_length=200)
    price = models.IntegerField(default=0)
    price_old = models.IntegerField(default=0)
    description = models.TextField()
    status = models.BooleanField(default=False)
    date_posted = models.DateTimeField(auto_now_add=True)
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    brand = models.ForeignKey(Brand, on_delete=models.CASCADE)
    category = models.ForeignKey(Category, on_delete=models.CASCADE)

    def __str__(self):
        return f'{self.title}, {self.description}'

class Product_image(models.Model):
    image = models.ImageField(upload_to='uploads/')
    product = models.ForeignKey(Product, on_delete=models.CASCADE)

    def __str__(self):
        return f'{self.product.title} image'

class Product_details(models.Model):
    product = models.ForeignKey(Product, on_delete=models.CASCADE, null=True)
    size = models.CharField(max_length=50, blank=True, null=True, default=None)
    color = models.CharField(max_length=50, blank=True, null=True, default=None)
    video = models.CharField(max_length=200, blank=True, null=True, default=None)
    internal_storage = models.CharField(max_length=50, blank=True, null=True, default=None)
    ram = models.CharField(max_length=50, blank=True, null=True, default=None)
    production_year = models.CharField(max_length=50, blank=True, null=True, default=None)
    sim_count = models.CharField(max_length=50, blank=True, null=True, default=None)
    sim_type = models.CharField(max_length=50, blank=True, null=True, default=None)
    operation_system = models.CharField(max_length=100, blank=True, null=True, default=None)
    operation_system_version = models.CharField(max_length=100, blank=True, null=True, default=None)
    screen_size = models.CharField(max_length=50, blank=True, null=True, default=None)
    resolution = models.CharField(max_length=50, blank=True, null=True, default=None)
    back_camera = models.CharField(max_length=50, blank=True, null=True, default=None)
    front_camera = models.CharField(max_length=50, blank=True, null=True, default=None)
    battery = models.CharField(max_length=50, blank=True, null=True, default=None)
    weigth = models.CharField(max_length=50, blank=True, null=True, default=None)
    prosessor = models.CharField(max_length=50, blank=True, null=True, default=None)
    security = models.CharField(max_length=50, blank=True, null=True, default=None)
    guarantee = models.CharField(max_length=50, blank=True, null=True, default=None)
    operator_prefix = models.CharField(max_length=50, blank=True, null=True, default=None)
    wifi = models.BooleanField(blank=True, null=True, default=None)
    allow_3G = models.BooleanField(blank=True, null=True, default=None)
    allow_4G = models.BooleanField(blank=True, null=True, default=None)
    nfc = models.BooleanField(blank=True, null=True, default=None)
    gps = models.BooleanField(blank=True, null=True, default=None)
    eye_recognition = models.BooleanField(blank=True, null=True, default=None)
    waterproof = models.BooleanField(blank=True, null=True, default=None)
    faceID = models.BooleanField(blank=True, null=True, default=None)
    shockproof = models.BooleanField(blank=True, null=True, default=None)

    def __str__(self):
        return f'{self.product.title} details'

Внизу мой views.py:

from django.shortcuts import render, get_object_or_404
from django.views.generic import ListView, DetailView
from django.http import HttpResponse
from .models import Product, Product_image, Product_details


class ProductListView(ListView):
    model = Product
    template_name = 'product/home.html'
    context_object_name = 'products'
    ordering = ['-date_posted']

def product_detail(request, id):
    product = Product.objects.get(pk=id)
    photos = Product_image.objects.filter(product=product)
    details = Product_details.objects.filter(product=product)
    context = {'product':product,'photos':photos, 'details':details,}
    return render(request, 'product/product_detail.html', context)

Внизу мой темплейт файл product_detail.html , очень большой файл поэтому только вставляю суда только тот элемент где обращаюсь к етему моделу. Обратите внимание {{ product.brand.name }} {{ product.title }} нормально видно в экране, но {{ details.ram }} / {{details.internal_storage}} не видны.

<h2>{{ product.brand.name }} {{ product.title }} {{ details.ram }} / {{details.internal_storage}}</h2>

Ответы (1 шт):

Автор решения: Fuad Suleymanov

Я уже нашел ответ на это вопрос, эту вопрос я написал и на английском языке тоже, отдуда пришол ответ с котором я решил эту проблему. Всем спосибо кто уделил время и почитал мой вопрос.

→ Ссылка