7 |
7 |
from django.contrib.postgres.fields import JSONField
|
8 |
8 |
from django.db import connection, models
|
9 |
9 |
from django.db.models import Q
|
|
10 |
from django.db.models.functions import Upper
|
10 |
11 |
from django.utils import timezone
|
11 |
12 |
from django.utils.http import urlencode
|
12 |
13 |
from django.utils.translation import ugettext_lazy as _
|
... | ... | |
575 |
576 |
|
576 |
577 |
class StreetModel(UnaccentNameMixin, models.Model):
|
577 |
578 |
|
578 |
|
ban_id = models.CharField(_('BAN Identifier'), max_length=32, null=True)
|
|
579 |
ban_id = models.CharField(_('BAN Identifier'), max_length=32, null=True, db_index=True)
|
579 |
580 |
city = models.CharField(_('City'), max_length=150)
|
580 |
581 |
name = models.CharField(_('Street name'), max_length=150)
|
581 |
582 |
unaccent_name = models.CharField(_('Street name ascii char'), max_length=150, null=True)
|
582 |
|
zipcode = models.CharField(_('Postal code'), max_length=5)
|
|
583 |
zipcode = models.CharField(_('Postal code'), max_length=5, db_index=True)
|
583 |
584 |
type = models.CharField(_('Street type'), max_length=30)
|
584 |
|
citycode = models.CharField(_('City Code'), max_length=5)
|
|
585 |
citycode = models.CharField(_('City Code'), max_length=5, db_index=True)
|
585 |
586 |
last_update = models.DateTimeField(_('Last update'), null=True, auto_now=True)
|
586 |
587 |
|
587 |
588 |
resource = models.ForeignKey(BaseAdresse, on_delete=models.CASCADE, verbose_name=_('BAN Connector'))
|
... | ... | |
650 |
651 |
|
651 |
652 |
name = models.CharField(_('City name'), max_length=150)
|
652 |
653 |
unaccent_name = models.CharField(_('City name ascii char'), max_length=150, null=True)
|
653 |
|
code = models.CharField(_('INSEE code'), max_length=5)
|
654 |
|
zipcode = models.CharField(_('Postal code'), max_length=5)
|
|
654 |
code = models.CharField(_('INSEE code'), max_length=5, db_index=True)
|
|
655 |
zipcode = models.CharField(_('Postal code'), max_length=5, db_index=True)
|
655 |
656 |
population = models.PositiveIntegerField(_('Population'))
|
656 |
657 |
department = models.ForeignKey(DepartmentModel, on_delete=models.CASCADE, blank=True, null=True)
|
657 |
658 |
region = models.ForeignKey(RegionModel, on_delete=models.CASCADE, blank=True, null=True)
|
... | ... | |
677 |
678 |
class Meta:
|
678 |
679 |
ordering = ['-population', 'zipcode', 'unaccent_name', 'name']
|
679 |
680 |
unique_together = ('resource', 'code', 'zipcode')
|
|
681 |
indexes = [
|
|
682 |
models.Index(Upper('unaccent_name'), name='unaccent_istartswith_idx'),
|
|
683 |
]
|
680 |
684 |
|
681 |
685 |
def __str__(self):
|
682 |
686 |
return '%s %s' % (self.zipcode, self.name)
|
683 |
|
-
|