2011-12-25 5 views
0

Я делаю тележку для интернет-магазина. У меня есть модель продукт, какЧто такое хорошая модель для атрибутов продукта

#Product 
from django.db import models 

class Product(models.Model): 
    title = models.CharField() 
    attribute = models.ManyToManyField('Attribute') 

Как я могу сделать атрибуты модель, как размер, цвет со своими клавишами, как числа или выбор («Красный», «Зеленый», ...)?

ответ

1

Вы прочитали (а) ManyToManyField? https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.ManyToManyField

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

class Attribute(models.Model): 
    value = models.CharField(max_length=64) 

class Product(models.Model): 
    title = models.CharField() 
    attribute = models.ManyToManyField('Attribute') 

product = Product.objects.create(title='foobar') 
red_attribute = Attribute.objects.create(value='Red') 
product.attribute.add(red_attribute) 
Смежные вопросы