diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-07-31 10:46:50 +0200 |
---|---|---|
committer | Étienne Loks <etienne@peacefrogs.net> | 2019-07-31 10:46:50 +0200 |
commit | d2e3ce3fe1bca021190c8257367e8a444596724f (patch) | |
tree | 73d50da3dddea117777ecfeaad6926db0920b2c9 /commcrawler/lookups.py | |
parent | 345a41be0318da980422ee74a67c363008d4de8d (diff) | |
download | Comm-on-net-d2e3ce3fe1bca021190c8257367e8a444596724f.tar.bz2 Comm-on-net-d2e3ce3fe1bca021190c8257367e8a444596724f.zip |
Models refactoring
Diffstat (limited to 'commcrawler/lookups.py')
-rw-r--r-- | commcrawler/lookups.py | 41 |
1 files changed, 6 insertions, 35 deletions
diff --git a/commcrawler/lookups.py b/commcrawler/lookups.py index f8d4897..106a69a 100644 --- a/commcrawler/lookups.py +++ b/commcrawler/lookups.py @@ -1,28 +1,15 @@ -from ajax_select import register, LookupChannel as BaseLookupChannel +from ajax_select import register from django.db.models import Q -from . import models - - -class LookupChannel(BaseLookupChannel): - def get_objects(self, items): - # TODO: why IDs are not given here? M2M issue - ids = [] - for item in items: - if hasattr(item, 'pk'): - ids.append(item.pk) - else: - ids.append(item) - return super(LookupChannel, self).get_objects(ids) +from commorganization.lookups import LookupChannel - def format_item_display(self, item): - return u"<span class='ajax-label'>%s</span>" % str(item) +from . import models -@register('organization') -class OrganizationLookup(LookupChannel): - model = models.Organization +@register('target') +class TargetLookup(LookupChannel): + model = models.Target def get_query(self, q, request): query = Q() @@ -31,19 +18,3 @@ class OrganizationLookup(LookupChannel): query &= subquery return self.model.objects.filter(query).order_by('name')[:20] - -@register('area') -class AreaLookup(LookupChannel): - model = models.Area - - def get_query(self, q, request): - query = Q() - for term in q.strip().split(' '): - subquery = ( - Q(name__icontains=term) | - Q(parent__name__icontains=term) | - Q(reference=term) - ) - query &= subquery - return self.model.objects.filter(query).order_by('name')[:20] - |