diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-11-06 13:19:18 +0100 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-11-06 13:19:18 +0100 | 
| commit | f0169853a78fbe3a8c851be9b420d1aaeb45382f (patch) | |
| tree | d5771943a949c76a3e307d147c6651dde7de251b | |
| parent | 8c4e37b4a47c97a807bc8becbbff3f0ef7f027f1 (diff) | |
| download | Ishtar-f0169853a78fbe3a8c851be9b420d1aaeb45382f.tar.bz2 Ishtar-f0169853a78fbe3a8c851be9b420d1aaeb45382f.zip | |
Fix natural keys for state and department
| -rw-r--r-- | Makefile.example | 1 | ||||
| -rw-r--r-- | ishtar_common/admin.py | 2 | ||||
| -rw-r--r-- | ishtar_common/models.py | 13 | 
3 files changed, 14 insertions, 2 deletions
| diff --git a/Makefile.example b/Makefile.example index 4e7f1dde0..460fe51ad 100644 --- a/Makefile.example +++ b/Makefile.example @@ -143,6 +143,7 @@ fixtures_common_importers:  fixtures_common_towns:  	cd $(project); $(PYTHON) ./manage.py dumpdata --indent 4 --natural-primary --natural-foreign  \ +							ishtar_common.state \  							ishtar_common.department \  							ishtar_common.town \  	   > '../ishtar_common/fixtures/towns-'$(default_data)'.json' diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py index 227f7ba25..d3292148f 100644 --- a/ishtar_common/admin.py +++ b/ishtar_common/admin.py @@ -445,8 +445,6 @@ admin_site.register(models.AdministrationTask, AdministrationTaskAdmin)  basic_models = [models.DocumentTemplate] -if settings.COUNTRY == 'fr': -    basic_models += [models.Arrondissement, models.Canton]  for model in basic_models:      admin_site.register(model) 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) | 
