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) |