Здравствуйте, я новичок в Django :) у меня такой вопрос ... Имеется таблица проб (sample), таблица актов (acts) нужно создать рецептуру в которой будет проставлена процентовка той или иной пробы ... ) я пытался сделать это через ManyToManyField но процентовка ставиться не для каждой пробы, а полностью для рецептуры, затем я добавил доп. поля, но возможность добавить неограниченое колечиство разных проб в одну рецептуру пропала :( делал всё через админку
models.py
class lab_sample(models.Model): #пробы
class Meta:
db_table="lab_sample"
verbose_name="проба"
verbose_name_plural="Пробы"
sample_id=models.AutoField(primary_key=True) # номер пробы
sample_title=models.ForeignKey(lab_title, verbose_name="Название материала", blank=True, null=True)
sample_full_name_man=models.ForeignKey(lab_full_name_man, verbose_name="Ф.И.О. представителя производителя", blank=True, null=True)
sample_place=models.ForeignKey(lab_place, verbose_name="Место отбора пробы", blank=True, null=True)
sample_weigth=models.FloatField("Масса", blank=True, null=True)
sample_remain=models.FloatField("Остаток", blank=True, null=True)
sample_type=models.ForeignKey(lab_type, verbose_name="Тип", blank=True, null=True)
sample_comment=models.TextField("Комментарии", blank=True, null=True)
sample_status=models.BooleanField("Статус", default=True)
class lab_act(lab_sample): # акты
class Meta:
db_table="lab_act"
verbose_name="акт"
verbose_name_plural="Акты"
act_id=models.AutoField(primary_key=True) # номер акта
act_batch=models.ForeignKey(lab_batch, verbose_name="Номер партии", blank=True, null=True)
act_sample=models.ManyToManyField(lab_sample, through="lab_recipe", related_name='act_sample')
def __unicode__(self):
return str(self.act_id)
class lab_recipe(models.Model):
class Meta:
db_table="lab_recipe"
verbose_name='рецептура'
verbose_name_plural='Рецептуры'
recipe_id=models.AutoField(primary_key=True, unique=False, blank=True)
recipe_sample=models.ForeignKey(lab_sample, related_name='recipe_sample')
recipe_percent=models.FloatField()
recipe_act=models.ForeignKey(lab_act, related_name='recipe_act')