Skip to content

Commit 9e39283

Browse files
committed
Add missed CountryQuerySet see HEA-651
1 parent 7dc562a commit 9e39283

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

apps/common/models.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -490,6 +490,35 @@ def date_label(self):
490490
return date_text
491491

492492

493+
class CountryQuerySet(SearchQueryMixin, models.QuerySet):
494+
"""
495+
Makes country searchable
496+
"""
497+
def get_search_filter(self, search_term):
498+
return (
499+
Q(iso3166a2__iexact=search_term)
500+
| Q(iso3166a3__iexact=search_term)
501+
| Q(name__iexact=search_term)
502+
| Q(iso_en_name__iexact=search_term)
503+
| Q(iso_en_proper__iexact=search_term)
504+
| Q(iso_en_ro_name__iexact=search_term)
505+
| Q(iso_en_ro_proper__iexact=search_term)
506+
| Q(iso_fr_name__iexact=search_term)
507+
| Q(iso_fr_proper__iexact=search_term)
508+
| Q(iso_es_name__iexact=search_term)
509+
)
510+
511+
class CountryManager(models.Manager):
512+
"""
513+
Custom manager for Country model using CountryQuerySet.
514+
"""
515+
def get_queryset(self):
516+
qs = CountryQuerySet(self.model, using=self._db)
517+
return qs
518+
519+
def search(self, search_term):
520+
return self.get_queryset().search(search_term)
521+
493522
class Country(models.Model):
494523
"""
495524
A Country (or dependent territory or special area of geographical interest) included in ISO 3166.
@@ -546,6 +575,7 @@ class Country(models.Model):
546575
verbose_name=_("ISO Spanish name"),
547576
help_text=_("The name in Spanish of the Country approved by the ISO 3166 Maintenance Agency"),
548577
)
578+
objects = CountryManager()
549579

550580
def __str__(self):
551581
return self.iso_en_ro_name if self.iso_en_ro_name else ""

0 commit comments

Comments
 (0)