נפתרה: פורמט ערך 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)"}}]

Pointfiles

קובץ נקודתי הוא מבנה נתונים המשמש במסגרת האינטרנט של Django לאחסון מידע על אתר אינטרנט. קובץ נקודתי מכיל מידע על אתר אינטרנט בודד, כגון כתובת האתר, שם הדומיין ומטא נתונים אחרים.

פורמט ערכים ב-Django

פורמט הערכים ב-Django הוא דרך להגדיר קבוצה של ערכים שהפרויקט שלך יעמוד בהם. זה יכול לשמש כדי לתעד את הפילוסופיה של הפרויקט שלך, או כדי לעזור לך לקבל החלטות לגבי איך הפרויקט שלך צריך להתנהל.

כדי להשתמש בפורמט הערכים ב-Django, תחילה צור מודול שנקרא ערכים. במודול זה, תגדיר את כל הערכים שהפרויקט שלך יעמוד בהם. אתה יכול לשים כל תיעוד שאתה רוצה במודול הזה, אבל לעת עתה, פשוט תן לו את התוכן הבא:

מ-django.conf הגדרות ייבוא ​​מ-django.core.management import call_command מ-django.utils ייבוא ​​אזור זמן def main (): # הגדר כמה הגדרות גלובליות. הגדרות. SETTINGS_MODULE = "ערכים" # הגדר את הערכים שפרויקט זה עוקב אחריהם. myvalues ​​= { 'קוד התנהגות' : 'אנו מחויבים לספק חוויה נטולת הטרדות לכולם.' , } call_command ( "echo %s > /etc/hosts" % myvalues ​​[ 'קוד התנהגות' ], אזור זמן = אזור זמן . עכשיו ()) if __name__ == "__main__" : main ()

מה זה מתקנים

מתקנים הם דרך לאחסן נתונים במסד נתונים שיכולים לשמש יישומי Django. הם מאפשרים לך להגדיר ערכים ספציפיים עבור שדות בטבלת מסד נתונים, ולאחר מכן להשתמש בערכים אלה בעת יצירת מופעים של אובייקט המודל.

הודעות קשורות:

השאירו תגובה