diff --git a/app/models.py b/app/models.py index cc352e9..5c0c0ac 100644 --- a/app/models.py +++ b/app/models.py @@ -675,9 +675,9 @@ Involved scientist''') 'fullname': self.fullname(), 'organisation': self.organisation or '', 'position': self.position or '', - 'country': self.country or '', + 'country': self.country.short_name or '', 'personal_url': self.personal_url or '', - 'personal_urls': self.personal_url.split(';'), + 'personal_urls': [] if self.personal_url is None else self.personal_url.split(';'), 'biography': self.biography or '', } diff --git a/app/views.py b/app/views.py index 6b3969c..f896b0d 100644 --- a/app/views.py +++ b/app/views.py @@ -21,7 +21,7 @@ from os import makedirs from tempfile import gettempdir from .formats import * from .convert import reindex_data, refresh_data -from .models import Person, RangesPeople, TaxaPeople, FieldsPeople, MethodsPeople, MountainRange, Field, Taxon, Resource +from .models import Person, PeopleRange, TaxaPeople, FieldsPeople, MethodsPeople, MountainRange, Field, Taxon, Resource # Get temporary file storage UPLOAD_PATH = gettempdir() @@ -174,9 +174,9 @@ def get_paginated(query_set, page, per_page): 'taxon': [], } for p in paginator.object_list: - filters['country'].append(p.country) - for r in p.rangespeople_set.all(): - filters['range'].append(r.range.name) + filters['country'].append(p.country.short_name) + for r in p.peoplerange_set.all(): + filters['range'].append(r.range.range_name) for r in p.fieldspeople_set.all(): filters['field'].append(r.field.name) for r in p.taxapeople_set.all(): @@ -217,9 +217,9 @@ class SearchView(View): q_field = self.request.GET.get('field', '') q_taxon = self.request.GET.get('taxon', '') if len(q_country) > 2: - query_set = query_set.filter(country__icontains=q_country.strip().lower()) + query_set = query_set.filter(country__short_name__icontains=q_country.strip().lower()) if len(q_range) > 2: - ranges_people = RangesPeople.objects.filter(range__name__icontains=q_range.strip().lower()) + ranges_people = PeopleRange.objects.filter(range__name__icontains=q_range.strip().lower()) r_people_ids = [rp.person_id for rp in ranges_people] query_set = query_set.filter(id__in=r_people_ids) if len(q_field) > 2: @@ -272,9 +272,9 @@ class RangesListView(View): def get(self, request): q = self.request.GET.get('q', '').strip() if not q or len(q) < 3: - query_set = Range.objects.all().order_by('name')[:MAX_FILTER_RESULTS] + query_set = MountainRange.objects.all().order_by('name')[:MAX_FILTER_RESULTS] else: - query_set = Range.objects.filter(name__icontains=q.strip().lower()) + query_set = MountainRange.objects.filter(name__icontains=q.strip().lower()) return JsonResponse(list(query_set.values()), safe=False)