Terpecahkan: format nilai bidang titik django untuk perlengkapan

Masalah utamanya adalah tidak mungkin menentukan format bidang titik khusus untuk perlengkapan.

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

File poin

Pointfile adalah struktur data yang digunakan dalam kerangka web Django untuk menyimpan informasi tentang situs web. Pointfile berisi informasi tentang satu situs web, seperti URL, nama domain, dan metadata lainnya.

Format nilai di Django

Format Nilai di Django adalah cara untuk menentukan sekumpulan nilai yang akan dipatuhi oleh proyek Anda. Ini dapat digunakan untuk mendokumentasikan filosofi proyek Anda, atau untuk membantu Anda membuat keputusan tentang bagaimana proyek Anda harus dijalankan.

Untuk menggunakan format Nilai di Django, pertama-tama buat modul bernama values ​​. Dalam modul ini, Anda akan menentukan semua nilai yang akan dipatuhi proyek Anda. Anda dapat memasukkan dokumentasi apa pun yang Anda inginkan dalam modul ini, tetapi untuk saat ini, berikan saja konten berikut:

from django.conf import settings from django.core.management import call_command from django.utils import timezone def main (): # Tetapkan beberapa pengaturan global. pengaturan . SETTINGS_MODULE = “values” # Tetapkan nilai yang diikuti proyek ini. myvalues ​​= { 'code of conduct' : 'Kami berkomitmen untuk memberikan pengalaman bebas pelecehan bagi semua orang.' , } call_command( “echo %s > /etc/hosts” % myvalues ​​[ 'code of conduct' ], timezone = timezone . now ()) if __name__ == “__main__” : main ()

Apa itu perlengkapan

Perlengkapan adalah cara menyimpan data dalam database yang dapat digunakan oleh aplikasi Django. Mereka memungkinkan Anda untuk menentukan nilai spesifik untuk bidang dalam tabel database, lalu menggunakan nilai tersebut saat Anda membuat instance objek model.

Pos terkait:

Tinggalkan Komentar