निराकरण: फिक्स्चरसाठी जॅंगो पॉइंटफील्ड मूल्य स्वरूप

मुख्य समस्या अशी आहे की फिक्स्चरसाठी सानुकूल पॉइंटफील्ड स्वरूप निर्दिष्ट करणे शक्य नाही.

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

पॉइंटफाईल्स

पॉइंटफाइल ही वेबसाइटबद्दल माहिती साठवण्यासाठी जॅंगो वेब फ्रेमवर्कमध्ये वापरली जाणारी डेटा रचना आहे. पॉईंटफाइलमध्ये URL, डोमेनचे नाव आणि इतर मेटाडेटा यासारख्या वेबसाइटबद्दल माहिती असते.

Django मध्ये मूल्ये स्वरूप

Django मधील व्हॅल्यूज फॉरमॅट हा तुमचा प्रोजेक्ट पाळत असलेल्या मूल्यांचा संच परिभाषित करण्याचा एक मार्ग आहे. हे तुमच्या प्रकल्पाच्या तत्त्वज्ञानाचे दस्तऐवजीकरण करण्यासाठी किंवा तुमचा प्रकल्प कसा चालवावा याबद्दल निर्णय घेण्यात मदत करण्यासाठी वापरला जाऊ शकतो.

Django मध्ये Values ​​फॉरमॅट वापरण्यासाठी, प्रथम values ​​नावाचे मॉड्यूल तयार करा. या मॉड्यूलमध्ये, तुमचा प्रकल्प ज्या मूल्यांचे पालन करेल ते तुम्ही परिभाषित कराल. तुम्हाला हवे असलेले कोणतेही दस्तऐवज तुम्ही या मॉड्यूलमध्ये ठेवू शकता, परंतु आत्तासाठी, फक्त खालील सामग्री द्या:

django.core.management वरून django.conf इंपोर्ट सेटिंग्ज वरून django.utils वरून call_command आयात करा टाइमझोन डीफ मुख्य (): # काही जागतिक सेटिंग्ज सेट करा. सेटिंग्ज SETTINGS_MODULE = “values” # हा प्रकल्प खालील मूल्ये परिभाषित करा. myvalues ​​= { 'आचारसंहिता' : 'आम्ही प्रत्येकासाठी छळविरहित अनुभव देण्यासाठी वचनबद्ध आहोत.' , } call_command ( “echo %s > /etc/hosts” % myvalues ​​[ 'आचारसंहिता' ], टाइमझोन = टाइमझोन. आता ()) जर __name__ == “__main__” : main ()

फिक्स्चर म्हणजे काय

फिक्स्चर हे डेटाबेसमध्ये डेटा संचयित करण्याचा एक मार्ग आहे जो Django अनुप्रयोगांद्वारे वापरला जाऊ शकतो. ते तुम्हाला डेटाबेस टेबलमधील फील्डसाठी विशिष्ट मूल्ये परिभाषित करण्याची परवानगी देतात आणि नंतर जेव्हा तुम्ही मॉडेल ऑब्जेक्टची उदाहरणे तयार करता तेव्हा ती मूल्ये वापरा.

संबंधित पोस्ट:

एक टिप्पणी द्या