해결됨: 고정 장치에 대한 django pointfield 값 형식

주된 문제는 고정물에 대한 사용자 지정 포인트 필드 형식을 지정할 수 없다는 것입니다.

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

포인트 파일

pointfile은 웹 사이트에 대한 정보를 저장하기 위해 Django 웹 프레임워크에서 사용되는 데이터 구조입니다. 포인트 파일에는 URL, 도메인 이름 및 기타 메타데이터와 같은 단일 웹 사이트에 대한 정보가 포함됩니다.

Django의 값 형식

Django의 값 형식은 프로젝트가 준수할 일련의 값을 정의하는 방법입니다. 이것은 프로젝트의 철학을 문서화하거나 프로젝트 실행 방법에 대한 결정을 내리는 데 사용할 수 있습니다.

Django에서 값 형식을 사용하려면 먼저 values ​​라는 모듈을 만듭니다. 이 모듈에서는 프로젝트가 준수할 모든 값을 정의합니다. 이 모듈에 원하는 문서를 넣을 수 있지만 지금은 다음 내용만 제공하십시오.

from django.conf import settings from django.core.management import call_command from django.utils import timezone def main (): # 전역 설정을 설정합니다. 설정 . SETTINGS_MODULE = "values" # 이 프로젝트가 따르는 값을 정의합니다. myvalues ​​= { '행동 강령' : '우리는 모든 사람에게 괴롭힘 없는 환경을 제공하기 위해 최선을 다하고 있습니다.' , } call_command ( “echo %s > /etc/hosts” % myvalues ​​[ '행동 강령' ], 시간대 = 시간대 . 지금()) if __name__ == “__main__” : main()

비품은 무엇입니까

고정 장치는 Django 응용 프로그램에서 사용할 수 있는 데이터베이스에 데이터를 저장하는 방법입니다. 이를 통해 데이터베이스 테이블의 필드에 대한 특정 값을 정의한 다음 모델 객체의 인스턴스를 생성할 때 해당 값을 사용할 수 있습니다.

관련 게시물:

코멘트 남김