[4.1.x] Fixed -- Reallowed using GeoIP2() when GEOS is not installed.

Regression in 31bef51d8e.

Backport of e7afb8a180 from main
This commit is contained in:
Aarni Koskela 2022-08-03 16:39:35 +03:00 committed by Mariusz Felisiak
parent 9e9bdf8dbd
commit a3ce58ac4c
2 changed files with 5 additions and 2 deletions
django/contrib/gis/geoip2
docs/releases

View File

@ -3,7 +3,6 @@ import socket
import geoip2.database
from django.conf import settings
from django.contrib.gis.geos import Point
from django.core.exceptions import ValidationError
from django.core.validators import validate_ipv46_address
from django.utils._os import to_path
@ -219,6 +218,9 @@ class GeoIP2:
"Return a GEOS Point object for the given query."
ll = self.lon_lat(query)
if ll:
# Allows importing and using GeoIP2() when GEOS is not installed.
from django.contrib.gis.geos import Point
return Point(ll, srid=4326)
else:
return None

View File

@ -9,4 +9,5 @@ Django 4.1.1 fixes several bugs in 4.1.
Bugfixes
========
* ...
* Reallowed, following a regression in Django 4.1, using ``GeoIP2()`` when GEOS
is not installed (:ticket:`33886`).