Найти - Пользователи
Полная версия: Как лучше организовать модели продукта
Начало » Django » Как лучше организовать модели продукта
1
info.rss
class Categories(MPTTModel):
    parent = TreeForeignKey(u'self', related_name=u'children')
    title = models.CharField(max_length=128)
   ...
class Products(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL)
    category = models.ForeignKey(Categories, related_name=u'category')
    price = models.DecimalField(u'Цена', max_digits=8, decimal_places=2, default=Decimal(0.00))
    ... # только главные поля
    # добавлять сюда эти критерии тоже не разумно, тип:
    color = models.ManyToManyField(Colors) # т.к. Критерии зависят от выбранной категории, зачем здесь этот огромный список
    ...
У каждого продукта есть его критерии, их бесконечное множество. Которые со временем добавляются. Делать так тоже кажется не разумно:
class Colors(models.Model):
    title = models.CharField(max_length=64, unique=True)
class Materials(models.Model):
    title = models.CharField(max_length=128, unique=True)
    ...
# и потом
Criteries(models.Model):
    color = m2m(Colors)
    ...
причем критерии зависят от Категории, т.е. В зависимости от категории меняются и критерии
Singularity
class Value(models.Model):
    name = models.CharField(max_length=64, unique=True)
    value = models.TextField(max_length=64, unique=True)
    type = models.CharField(max_length=64, unique=True)
Если надо искать по них в постгрес есть json поля. Правда я забыл как они называються
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB