diff options
Diffstat (limited to 'ishtar/furnitures/models.py')
-rw-r--r-- | ishtar/furnitures/models.py | 34 |
1 files changed, 27 insertions, 7 deletions
diff --git a/ishtar/furnitures/models.py b/ishtar/furnitures/models.py index ac14857ee..e08785c0a 100644 --- a/ishtar/furnitures/models.py +++ b/ishtar/furnitures/models.py @@ -258,19 +258,35 @@ class MaterialType(GeneralType): verbose_name = _(u"Material type") verbose_name_plural = _(u"Material types") -class Item(models.Model): +class BaseItem(models.Model): label = models.CharField(_(u"Label"), max_length=60) description = models.TextField(_(u"Description")) registration_unit = models.ForeignKey(RegistrationUnit, verbose_name=_(u"Registration Unit")) + is_isolated = models.BooleanField(_(u"Is isolated?")) + documentations = models.ManyToManyField(Source) + + class Meta: + verbose_name = _(u"Base item") + verbose_name_plural = _(u"Base items") + + def __unicode__(self): + return self.label + +class Item(models.Model): + base_items = models.ManyToManyField(BaseItem, verbose_name=_(u"Base item")) + order = models.IntegerField(_(u"Order")) + label = models.CharField(_(u"Label"), max_length=60) + description = models.TextField(_(u"Description")) material_type = models.ForeignKey(MaterialType, verbose_name = _(u"Material type")) - is_isolated = models.BooleanField(_(u"Is isolated?")) volume = models.FloatField(_(u"Volume")) weight = models.IntegerField(_(u"Weight")) item_number = models.IntegerField(_("Item number")) - documentations = models.ManyToManyField(Source) - treatments = models.ManyToManyField("Treatment") + upstream_treatment = models.ForeignKey("Treatment", + related_name='downstream_treatment', verbose_name=_("Upstream treatment")) + downstream_treatment = models.ForeignKey("Treatment", + related_name='upstream_treatment', verbose_name=_("Downstream treatment")) dating = models.ForeignKey(Dating, verbose_name=_(u"Dating")) class Meta: @@ -388,11 +404,15 @@ class Town(models.Model): def __unicode__(self): return self.name +class TreatmentType(GeneralType): + class Meta: + verbose_name = _(u"Treatment type") + verbose_name_plural = _(u"Treatment types") + class Treatment(models.Model): container = models.ForeignKey(Container, verbose_name=_(u"Container")) - order = models.IntegerField(_(u"Order")) - resulting_items = models.ManyToManyField(Item, - verbose_name=_(u"Resulting items")) + treatment_type = models.ForeignKey(TreatmentType, + verbose_name=_(u"Treatment type")) class Meta: verbose_name = _(u"Treatment") |