Merge branch 'feature/cities_by_country' into 'develop'
Feature/cities by country See merge request gm/gm-backend!62
This commit is contained in:
commit
7b3a379b3f
|
|
@ -53,6 +53,14 @@ class Region(models.Model):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
|
|
||||||
|
class CityQuerySet(models.QuerySet):
|
||||||
|
"""Extended queryset for City model."""
|
||||||
|
|
||||||
|
def by_country_code(self, code):
|
||||||
|
"""Return establishments by country code"""
|
||||||
|
return self.filter(country__code=code)
|
||||||
|
|
||||||
|
|
||||||
class City(models.Model):
|
class City(models.Model):
|
||||||
"""Region model."""
|
"""Region model."""
|
||||||
|
|
||||||
|
|
@ -68,6 +76,8 @@ class City(models.Model):
|
||||||
|
|
||||||
is_island = models.BooleanField(_('is island'), default=False)
|
is_island = models.BooleanField(_('is island'), default=False)
|
||||||
|
|
||||||
|
objects = CityQuerySet.as_manager()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name_plural = _('cities')
|
verbose_name_plural = _('cities')
|
||||||
verbose_name = _('city')
|
verbose_name = _('city')
|
||||||
|
|
@ -77,7 +87,6 @@ class City(models.Model):
|
||||||
|
|
||||||
|
|
||||||
class Address(models.Model):
|
class Address(models.Model):
|
||||||
|
|
||||||
"""Address model."""
|
"""Address model."""
|
||||||
city = models.ForeignKey(City, verbose_name=_('city'), on_delete=models.CASCADE)
|
city = models.ForeignKey(City, verbose_name=_('city'), on_delete=models.CASCADE)
|
||||||
street_name_1 = models.CharField(
|
street_name_1 = models.CharField(
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
"""Location app mobile urlconf."""
|
"""Location app mobile urlconf."""
|
||||||
from location.urls.common import urlpatterns as common_urlpatterns
|
from location.urls.common import urlpatterns as common_urlpatterns
|
||||||
|
|
||||||
|
|
||||||
urlpatterns = []
|
urlpatterns = []
|
||||||
|
|
||||||
urlpatterns.extend(common_urlpatterns)
|
urlpatterns.extend(common_urlpatterns)
|
||||||
|
|
@ -86,6 +86,12 @@ class CityListView(CityViewMixin, generics.ListAPIView):
|
||||||
permission_classes = (permissions.AllowAny,)
|
permission_classes = (permissions.AllowAny,)
|
||||||
serializer_class = serializers.CitySerializer
|
serializer_class = serializers.CitySerializer
|
||||||
|
|
||||||
|
def get_queryset(self):
|
||||||
|
qs = super().get_queryset()
|
||||||
|
if self.request.country_code:
|
||||||
|
qs = qs.by_country_code(self.request.country_code)
|
||||||
|
return qs
|
||||||
|
|
||||||
|
|
||||||
class CityDestroyView(CityViewMixin, generics.DestroyAPIView):
|
class CityDestroyView(CityViewMixin, generics.DestroyAPIView):
|
||||||
"""Destroy view for model City"""
|
"""Destroy view for model City"""
|
||||||
|
|
@ -112,5 +118,3 @@ class AddressListView(AddressViewMixin, generics.ListAPIView):
|
||||||
"""List view for model Address"""
|
"""List view for model Address"""
|
||||||
permission_classes = (permissions.AllowAny,)
|
permission_classes = (permissions.AllowAny,)
|
||||||
serializer_class = serializers.AddressDetailSerializer
|
serializer_class = serializers.AddressDetailSerializer
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,8 @@ app_name = 'mobile'
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('establishments/', include('establishment.urls.mobile')),
|
path('establishments/', include('establishment.urls.mobile')),
|
||||||
path('main/', include('main.urls.mobile'))
|
path('main/', include('main.urls.mobile')),
|
||||||
|
path('location/', include('location.urls.mobile'))
|
||||||
# path('account/', include('account.urls.web')),
|
# path('account/', include('account.urls.web')),
|
||||||
# path('advertisement/', include('advertisement.urls.web')),
|
# path('advertisement/', include('advertisement.urls.web')),
|
||||||
# path('collection/', include('collection.urls.web')),
|
# path('collection/', include('collection.urls.web')),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user