DJANGO комплексное моделирование - PullRequest
0 голосов
/ 31 мая 2010

У меня сейчас есть такая модель: чек содержит компоненты. компонент содержит продукт.

Разница между компонентом и продуктом состоит в том, что у компонента есть количество и единица измерения: например. Компонент - 100 г сахара - сахар является продуктом.

Поэтому мне нужно приготовить множество компонентов, чтобы удовлетворить разные рецепты - 100 г сахара не равно 200 г сахара

Интересно, смогу ли я переделать его, чтобы запустить компоненты - в чистом sql это довольно просто, но я пытаюсь использовать django - не делая обходных путей.

class Receipt(models.Model):
  name = models.CharField(max_length=128)
  (...)
  components = models.ManyToManyField(Component)

class Component(models.Model):
  quantity = models.FloatField(max_length=9)
  unit = models.ForeignKey(Unit)
  product = models.ForeignKey(Product)

class Product(models.Model):
  name = models.CharField(max_length = 128)

1010 * ТИА *

1 Ответ

4 голосов
/ 31 мая 2010

Вы можете избавиться от модели Component, если вы используете отношение ManyToMany, используя "through" в вашей модели Receipt: http://docs.djangoproject.com/en/1.2/topics/db/models/#intermediary-manytomany

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...