Resuelto: formato de valor de campo de puntos de django para accesorios

Actualización definitiva: 09/11/2023

El problema principal es que no es posible especificar un formato de campo de puntos personalizado para las luminarias.

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

Archivos de puntos

Un archivo de puntos es una estructura de datos utilizada en el marco web de Django para almacenar información sobre un sitio web. Un archivo de puntos contiene información sobre un solo sitio web, como la URL, el nombre del dominio y otros metadatos.

Formato de valores en Django

El formato de valores en Django es una forma de definir un conjunto de valores a los que se adherirá su proyecto. Esto se puede usar para documentar la filosofía de su proyecto o para ayudarlo a tomar decisiones sobre cómo se debe ejecutar su proyecto.

Para usar el formato de valores en Django, primero cree un módulo llamado valores. En este módulo, definirá todos los valores a los que se adherirá su proyecto. Puedes poner cualquier documentación que quieras en este módulo, pero por ahora, solo dale los siguientes contenidos:

from django.conf import settings from django.core.management import call_command from django.utils import timezone def main (): # Establecer algunas configuraciones globales. ajustes . SETTINGS_MODULE = “values” # Define los valores que sigue este proyecto. myvalues ​​= { 'code of conduct' : 'Nos comprometemos a brindar una experiencia libre de acoso para todos.' , } call_command ( “echo %s > /etc/hosts” % myvalues ​​[ 'código de conducta' ], timezone = timezone . now ()) if __name__ == “__main__” : main ()

que es accesorios

Los accesorios son una forma de almacenar datos en una base de datos que pueden usar las aplicaciones de Django. Le permiten definir valores específicos para campos en una tabla de base de datos y luego usar esos valores cuando crea instancias del objeto modelo.

Artículos Relacionados: