Django: лучший способ записи характеристик товара в моделях, если есть несколько категорий
Я новый разработчик django. Я пытался сделать сайт электронной коммерции. Все шло хорошо, но когда я начал кодировать product-details, я столкнулся с проблемой добавления характеристик товара. Как я могу получить характеристики, если есть более одной категории. Я попробовал просто добавить текстовое поле и вывести его как характеристику. Но оно не получается как список, а просто печатается как текст.
models.py
class Product(models.Model):
name = models.CharField(max_length=200, verbose_name="Название продукта")
category = models.CharField(max_length=300, choices=TOTAL, verbose_name="Категория")
subcategory = models.CharField(max_length=300, choices=SUBPRODUCT)
price = models.FloatField(verbose_name="Цена")
description = models.TextField(max_length=5000,blank=True, verbose_name="Описание:")
image = models.ImageField(null=True, blank=True, verbose_name="Изображение")
novinki = models.BooleanField(default=False, verbose_name="Новинки")
popularnye = models.BooleanField(default=False, verbose_name="Популарные")
def __str__(self):
return self.name
class Meta:
verbose_name = 'Продукты'
verbose_name_plural = "Продукты"
@property
def imageURL(self):
try:
url = self.image.url
except:
url = ''
return url
templates
<div class="u-product-control u-product-desc u-text u-text-default u-text-2"><!--product_content_content-->
<p>{{product.description}}.</p><!--/product_content_content-->
</div><!--/product_content--><!--product_button--
Итак, что я могу сделать? Что вы рекомендуете мне делать? Пожалуйста, помогите? Я не могу решить эту проблему уже неделю, подскажите, пожалуйста, как это сделать? Пожалуйста, помогите?
Вы можете сделать category
как поле "многие ко многим" с Product
, например так:
class Category(models.Model):
type = models.CharField(max_length=200)
class Product(models.Model):
category = models.manytomanyfield(Category)