ઉકેલાયેલ: ફિક્સર માટે ડીજેંગો પોઈન્ટફિલ્ડ વેલ્યુ ફોર્મેટ

મુખ્ય સમસ્યા એ છે કે ફિક્સર માટે કસ્ટમ પોઇન્ટફિલ્ડ ફોર્મેટનો ઉલ્લેખ કરવો શક્ય નથી.

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

પોઈન્ટફાઈલ્સ

પોઈન્ટફાઈલ એ વેબસાઈટ વિશેની માહિતી સ્ટોર કરવા માટે Django વેબ ફ્રેમવર્કમાં ઉપયોગમાં લેવાતું ડેટા સ્ટ્રક્ચર છે. પોઈન્ટફાઈલમાં એક વેબસાઈટ વિશેની માહિતી હોય છે, જેમ કે URL, ડોમેનનું નામ અને અન્ય મેટાડેટા.

Django માં મૂલ્યોનું ફોર્મેટ

Django માં મૂલ્યોનું ફોર્મેટ એ મૂલ્યોના સમૂહને વ્યાખ્યાયિત કરવાની એક રીત છે જે તમારો પ્રોજેક્ટ પાલન કરશે. આનો ઉપયોગ તમારા પ્રોજેક્ટની ફિલસૂફીને દસ્તાવેજ કરવા અથવા તમારા પ્રોજેક્ટને કેવી રીતે ચલાવવો જોઈએ તે અંગે નિર્ણય લેવામાં તમારી સહાય કરવા માટે થઈ શકે છે.

Django માં મૂલ્યોના ફોર્મેટનો ઉપયોગ કરવા માટે, પહેલા મૂલ્યો નામનું મોડ્યુલ બનાવો. આ મોડ્યુલમાં, તમે તે બધા મૂલ્યોને વ્યાખ્યાયિત કરશો જે તમારા પ્રોજેક્ટને વળગી રહેશે. તમે આ મોડ્યુલમાં તમને જોઈતા કોઈપણ દસ્તાવેજો મૂકી શકો છો, પરંતુ હમણાં માટે, તેને નીચેની સામગ્રી આપો:

django.core.management માંથી django.conf આયાત સેટિંગ્સ django.utils માંથી આયાત call_command આયાત કરો ટાઇમઝોન def main (): # કેટલાક વૈશ્વિક સેટિંગ્સ સેટ કરો. સેટિંગ્સ SETTINGS_MODULE = “મૂલ્યો” # આ પ્રોજેક્ટ અનુસરે છે તે મૂલ્યોને વ્યાખ્યાયિત કરો. myvalues ​​= { 'આચારસંહિતા' : 'અમે દરેક માટે પજવણી-મુક્ત અનુભવ પ્રદાન કરવા માટે પ્રતિબદ્ધ છીએ.' , } call_command ( “echo %s > /etc/hosts” % myvalues ​​[ 'આચારસંહિતા' ], ટાઈમઝોન = ટાઈમઝોન. હવે ()) જો __name__ == “__main__” : મુખ્ય ()

ફિક્સર શું છે

ફિક્સ્ચર એ ડેટાબેઝમાં ડેટા સ્ટોર કરવાની એક રીત છે જેનો Django એપ્લીકેશન દ્વારા ઉપયોગ કરી શકાય છે. તેઓ તમને ડેટાબેઝ કોષ્ટકમાં ક્ષેત્રો માટે ચોક્કસ મૂલ્યો વ્યાખ્યાયિત કરવાની મંજૂરી આપે છે, અને પછી જ્યારે તમે મોડેલ ઑબ્જેક્ટના ઉદાહરણો બનાવો ત્યારે તે મૂલ્યોનો ઉપયોગ કરો.

સંબંધિત પોસ્ટ્સ:

પ્રતિક્રિયા આપો