Kuxazululiwe: ifomethi yenani le-django pointfield yokulungiswa

Inkinga enkulu ukuthi akwenzeki ukucacisa ifomethi yenkundla yephoyinti yangokwezifiso yokulungisa.

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)"}}]

Amaphoyinti

I-pointfile isakhiwo sedatha esisetshenziswa kuhlaka lwewebhu ye-Django ukugcina ulwazi mayelana newebhusayithi. I-pointfile iqukethe ulwazi mayelana newebhusayithi eyodwa, njenge-URL, igama lesizinda, nenye imethadatha.

Ifomethi yamanani ngesi-Django

Ifomethi ye-Values ​​ku-Django iyindlela yokuchaza isethi yamanani iphrojekthi yakho ezobambelela kuwo. Lokhu kungasetshenziselwa ukubhala ifilosofi yephrojekthi yakho, noma ukukusiza wenze izinqumo mayelana nokuthi iphrojekthi yakho kufanele iqhutshwe kanjani.

Ukuze usebenzise ifomethi ye-Values ​​ku-Django, qala udale imojuli ebizwa ngokuthi amanani . Kule mojula, uzochaza wonke amanani iphrojekthi yakho ezobambelela kuwo. Ungabeka noma yimaphi amadokhumenti owafunayo kule mojula, kodwa okwamanje, vele unikeze okuqukethwe okulandelayo:

kusuka ku-django.conf izilungiselelo zokungenisa zisuka ku-django.core.management ngenisa call_command isuka ku-django.utils ngenisa indawo yesikhathi def main (): # Setha izilungiselelo ezithile zomhlaba. izilungiselelo . SETTINGS_MODULE = “amanani” # Chaza amanani alandelwa yile phrojekthi. myvalues ​​= { 'ikhodi yokuziphatha' : 'Sizibophezele ekuhlinzekeni okuhlangenwe nakho okungahlukumezi kwawo wonke umuntu.' , } call_command ( “echo %s > /etc/hosts” % myvalues ​​[ 'ikhodi yokuziphatha' ], izoni yesikhathi = izoni yesikhathi . manje ()) uma __name__ == “__main__” : main ()

Yini ama-fixtures

Ukulungiswa kuyindlela yokugcina idatha kusizindalwazi esingasetshenziswa izinhlelo zokusebenza ze-Django. Zikuvumela ukuthi uchaze amanani athile ezinkambu kuthebula lesizindalwazi, bese usebenzisa lawo manani lapho udala izimo zento eyimodeli.

Okuthunyelwe okuhlobene:

Shiya amazwana