Løst: django pointfield verdi format for inventar

Hovedproblemet er at det ikke er mulig å spesifisere et tilpasset punktfeltformat for inventar.

I am trying to load a fixture in Django that has a PointField. The value is stored in the database as:
<code>SRID=4326;POINT(1.23456789 1.23456789)
</code>
The fixture file looks like this:
<code>[{'model': 'myapp.MyModel', 'pk': 1, 'fields': {'point': SRID=4326;POINT(1.23456789 1.23456789)}},]
</code>
However, I get the following error when I try to load it: 
<blockquote>
<p>django.core.serializers.base.DeserializationError: Problem installing fixture '/path/to/fixture/file': Could not load myapp_mymodel(1): (point_field) invalid input syntax for type geometry</p>
</blockquote>


A:

 Django fixtures are in JSON format, so you need to use <code>"SRID=4326;POINT(1.23456789 1.23456789)"</code>.  Also, you need to use <code>"point"</code>, not <code>"Point"</code>.  This should work:  

    [{'model': 'myapp_mymodel', 'pk': 1, 'fields': {'point': "SRID=4326;POINT(1 23)"}}]

Pointfiler

En punktfil er en datastruktur som brukes i Django-nettverket for å lagre informasjon om et nettsted. En punktfil inneholder informasjon om et enkelt nettsted, for eksempel URL, navnet på domenet og andre metadata.

Verdiformat i Django

Verdiformatet i Django er en måte å definere et sett med verdier som prosjektet ditt vil følge. Dette kan brukes til å dokumentere prosjektets filosofi, eller hjelpe deg med å ta beslutninger om hvordan prosjektet ditt skal drives.

For å bruke verdiformatet i Django må du først lage en modul kalt verdier. I denne modulen vil du definere alle verdiene som prosjektet ditt skal følge. Du kan legge inn hvilken som helst dokumentasjon du vil i denne modulen, men foreløpig gi den følgende innhold:

fra django.conf import innstillinger fra django.core.management import call_command fra django.utils import timezone def main (): # Angi noen globale innstillinger. innstillinger. SETTINGS_MODULE = "verdier" # Definer verdiene som dette prosjektet følger. myvalues ​​= { 'atferdskodeks' : 'Vi er forpliktet til å tilby en trakasseringsfri opplevelse for alle.' , } call_command ( “echo %s > /etc/hosts” % myvalues ​​[ 'atferdskodeks' ], tidssone = tidssone . nå ()) if __name__ == “__main__” : main ()

Hva er inventar

Fixtures er en måte å lagre data på i en database som kan brukes av Django-applikasjoner. De lar deg definere spesifikke verdier for felt i en databasetabell, og deretter bruke disse verdiene når du oppretter forekomster av modellobjektet.

Relaterte innlegg:

Legg igjen en kommentar