sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan opfylder jeg enforce_srid_coordinate-begrænsningen med GeoDjango/PostGIS?

Det lyder som om du forsøger at tilføje et nyt ArchivrItem ved at gøre dette:

item = ArchivrItem(coordinate='POINT(51.520667 -0.094833)')
item.save()

Og dette får ikke den rigtige standard SRID af en eller anden grund, jeg ikke er sikker på. At angive det eksplicit burde dog fungere, f.eks.:

from django.contrib.gis.geos import Point
item = ArchivrItem(coordinate=Point(-0.094833, 51.520667, srid=4326))
item.save()

Jeg vil sige, at srid er valgfrit, hvis det vil matche modeldefinitionen, men det skader ikke at specificere det, og du kan se, om blot at bruge objektmåden løser det alligevel. https://docs.djangoproject.com/en/dev/ref/contrib/gis/db-api/#creating-and-saving-geographic-models har nogle flere eksempler.

[Bortset, bemærk, at POINT() er X og derefter Y, dvs. lon derefter lat, ikke lat/lon. Du kan indsætte et SRID, hvis det er udvidet WKT med "SRID=4326;POINT(-0.094833 51.520667)"]



  1. Forespørgsel med jokertegn og prik, der ikke matcher data med Oracle Text-indeks

  2. Hvordan sender jeg argumenter til et PL/SQL-script på kommandolinjen med SQLPLUS?

  3. MySql sammensatte nøgler og null-værdier

  4. Hvordan LENGTH() virker i MariaDB