diff options
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r-- | ishtar_common/models.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 678564dda..53c05d180 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -1900,9 +1900,15 @@ class DocumentTemplate(models.Model): return output_name +class NumberManager(models.Manager): + def get_by_natural_key(self, number): + return self.get(number=number) + + class State(models.Model): label = models.CharField(_(u"Label"), max_length=30) number = models.CharField(_(u"Number"), unique=True, max_length=3) + objects = NumberManager() class Meta: verbose_name = _(u"State") @@ -1911,12 +1917,16 @@ class State(models.Model): def __unicode__(self): return self.label + def natural_key(self): + return (self.number, ) + class Department(models.Model): label = models.CharField(_(u"Label"), max_length=30) number = models.CharField(_(u"Number"), unique=True, max_length=3) state = models.ForeignKey('State', verbose_name=_(u"State"), blank=True, null=True) + objects = NumberManager() class Meta: verbose_name = _(u"Department") @@ -1926,6 +1936,9 @@ class Department(models.Model): def __unicode__(self): return self.label + def natural_key(self): + return (self.number, ) + class Address(BaseHistorizedItem): address = models.TextField(_(u"Address"), null=True, blank=True) |