Получение данных из таблицы django
Модель
from django.db import models
from .category import Category
import datetime
class Products(models.Model):
title = models.CharField(max_length=50, verbose_name="Название товара")
category_name = models.ForeignKey(Category, on_delete=models.CASCADE, default=1, verbose_name="Категория")
description = models.TextField(max_length=2200, default='' , null=True , blank=True, verbose_name="Описание")
image = models.ImageField(upload_to='uploads/products/', verbose_name="Главное")
articul = models.CharField(max_length=20, default="", verbose_name="Артикул")
date_of_start = models.DateField(default=datetime.datetime.today, verbose_name="Дата")
color = models.CharField(max_length=50, default="", verbose_name="Цвет")
price = models.CharField(max_length=50, default="", verbose_name="Цена")
# photos = models.FileField(upload_to='uploads/products/'б verbose_name="Главное")
status_choiche = (
('В наличии', 'В наличии'),
('Под заказ', 'Под заказ'),
('Распродажа', 'Распродажа'),
)
status = models.CharField(max_length=10, choices=status_choiche, default='В наличии', verbose_name="Статус")
class Images(models.Model):
product = models.ForeignKey('Products', on_delete=models.CASCADE)
image = models.ImageField(upload_to='uploads/products/%Y/%m/%d')
def get_absolute_image_url(self):
return os.path.join(settings.MEDIA_URL, self.images.url)
@staticmethod
def get_products_by_id(ids):
return Products.objects.filter(id__in =ids)
@staticmethod
def get_all_products():
return Products.objects.all()
@staticmethod
def get_all_products_by_categoryid(category_name_id):
if category_name_id:
return Products.objects.filter(category_name = category_name_id)
else:
return Products.get_all_products();
def __str__(self):
return self.title
class Meta:
verbose_name = 'Продукт'
verbose_name_plural = 'Продукты'
admin.py
class VideoDetailsInline(admin.TabularInline):
model = Products.Images
class VideoAdmin(admin.ModelAdmin):
inlines = [VideoDetailsInline]
class VideoDetailsSerializer(serializers.ModelSerializer):
class Meta:
model = Products.Images
fields = '__all__'
class VideoSerializer(serializers.ModelSerializer):
class Meta:
model = Products
fields = '__all__'
view detail
from store.models.products import Products, Images
def store_detail(request, product_id):
productdetail = Products.objects.get(id = product_id)
# id ссылки
field_object = Products._meta.get_field('category_name_id')
category_name_id = getattr(productdetail, field_object.attname)
category = Category.objects.all()
# Получение названия категории имея ее id
category_name = Category.objects.get(id = category_name_id)
images = Products.objects.get(id = 25).Images.id
data = {
'productdetail': productdetail,
'category_name_id': category_name_id,
'category_name': category_name,
'category': category,
'images': images
}
return render(request, 'product_detail.html', data)
return render(request, 'product_detail.html', data)
Как мне вывести данные из таблицы в html? (см. изображение)
ImportError at /store/25
cannot import name 'Images' from 'store.models.products' (/home/django/django_venv/src/store/models/products.py)
Request Method: GET
Django Version: 3.2.2
Exception Type: ImportError
Exception Value:
cannot import name 'Images' from 'store.models.products' (/home/django/django_venv/src/store/models/products.py)
Exception Location: /home/django/django_venv/src/store/views/home.py, line 4, in <module>
Python Executable: /home/django/django_venv/bin/python3
Python Version: 3.8.5
Python Path:
['/home/django/django_venv/src',
'/home/django/django_venv/bin',
'/usr/lib/python38.zip',
'/usr/lib/python3.8',
'/usr/lib/python3.8/lib-dynload',
'/home/django/django_venv/lib/python3.8/site-packages']
Server time: Wed, 28 Jul 2021 18:29:48 +0300
