GeoDjango Data Transformation Issue in Production (non-localhost only)
My code running in
D1. localhost development configuration → fine
D2. localhost production → fine
D3. live ip / fqdn production (xxx.xxx.x.xxx, https://someproject.com) → not ok
D2 and D3 uses the exact production configuration env file, only difference is the browser address. Aka, same AWS cloudfront + S3, same production PostgreSQL etc.
Specs
django=4.2.7
geos=3.12.1
geoip2=4.7.0
gdal=3.8.1
libgdal-arrow-parquet=3.8.1
Data Transformation Issue in D3
CreateView, no wrong map data point, no log error
For TemplateView, DetailView, no wrong map data point, below log error
TemplateView
DetailView
2023-12-12 03:57:51|ERROR|/opt/conda/envs/someproject/lib/python3.12/site-packages/django/contrib/gis/gdal/libgdal.py|err_handler|GDAL_ERROR 1: b'PROJ: proj_create_from_database: Open of /opt/conda/envs/someproject/share/proj failed'
2023-12-12 03:57:51|ERROR|/opt/conda/envs/someproject/lib/python3.12/site-packages/django/contrib/gis/gdal/libgdal.py|err_handler|GDAL_ERROR 1: b'PROJ: proj_create_from_database: Open of /opt/conda/envs/someproject/share/proj failed'
For Admin detail + UpdateView, wrong map data point issue, below log error
Admin detail
UpdateView
2023-12-12 04:03:34|ERROR|/opt/conda/envs/someproject/lib/python3.12/site-packages/django/contrib/gis/gdal/libgdal.py|err_handler|GDAL_ERROR 1: b'PROJ: proj_create_from_database: Open of /opt/conda/envs/someproject/share/proj failed'
2023-12-12 04:03:34|ERROR|/opt/conda/envs/someproject/lib/python3.12/site-packages/django/contrib/gis/gdal/libgdal.py|err_handler|GDAL_ERROR 1: b'PROJ: proj_create_from_database: Open of /opt/conda/envs/someproject/share/proj failed'
2023-12-12 04:03:34|ERROR|/opt/conda/envs/someproject/lib/python3.12/site-packages/django/contrib/gis/gdal/libgdal.py|err_handler|GDAL_ERROR 1: b'PROJ: proj_create_from_database: Open of /opt/conda/envs/someproject/share/proj failed'
2023-12-12 04:03:34|ERROR|/opt/conda/envs/someproject/lib/python3.12/site-packages/django/contrib/gis/gdal/libgdal.py|err_handler|GDAL_ERROR 1: b'PROJ: proj_create_from_database: Open of /opt/conda/envs/someproject/share/proj failed'
2023-12-12 04:03:34|ERROR|/opt/conda/envs/someproject/lib/python3.12/site-packages/django/contrib/gis/forms/widgets.py|get_context|Error transforming geometry from srid '4326' to srid '3857' (OGR failure.)
2023-12-12 04:03:34|ERROR|/opt/conda/envs/someproject/lib/python3.12/site-packages/django/contrib/gis/forms/widgets.py|get_context|Error transforming geometry from srid '4326' to srid '3857' (OGR failure.)
2023-12-12 04:03:34|ERROR|/opt/conda/envs/someproject/lib/python3.12/site-packages/django/contrib/gis/gdal/libgdal.py|err_handler|GDAL_ERROR 1: b'PROJ: proj_create_from_database: Open of /opt/conda/envs/someproject/share/proj failed'
2023-12-12 04:03:34|ERROR|/opt/conda/envs/someproject/lib/python3.12/site-packages/django/contrib/gis/gdal/libgdal.py|err_handler|GDAL_ERROR 1: b'PROJ: proj_create_from_database: Open of /opt/conda/envs/someproject/share/proj failed'
Thoughts
Since D2 and D3 uses the exact production configuration env file. I think
- Cloudfront, S3, PostgreSQL is not the issue
- Issue maybe at reverse proxy, or django level
The OGR failure seems to suggest it’s database error, but based on D2, I think PostgreSQL is not the issue.
Any idea?