2017-02-22 20 views
7

मैं django 1.6.5 और पायथन 2.7 के साथ काम कर रहा हूं। मैं अपने अनुप्रयोग में आयात सुविधा है और मैं मिल त्रुटि:OSError: [Errno 18] अवैध क्रॉस-डिवाइस लिंक

OSError: [Errno 18] Invalid cross-device link 

मैं कोड के इस हिस्से के साथ समस्या है:

os.rename(db_temp, settings.DATABASES['bookmat']['NAME']) 

कोड सेटिंग्स में:

'bookmat': { 
    'ENGINE': 'django.db.backends.sqlite3', 
    'NAME': '/my_projects/book/db/bookmat.sqlite3', 
}, 
+0

क्या db_temp मूल्य – iklinac

+0

'है db_temp = settings.DATABASES [db_temp_name] [ 'NAME']' @iklinac – mark

+0

प्रारंभिक db_temp मूल्य स्ट्रिंग – iklinac

उत्तर

1

मैं नाम बदलने लगता है केवल तभी काम करता है जब स्रोत और लक्ष्य नाम एक ही फ़ाइल सिस्टम पर होते हैं। आपके पास शायद अलग-अलग माउंट हैं। अन्यथा आपको वह त्रुटि मिलती है। आप एक ही प्रभाव को एक प्रतिलिपि और हटाकर लागू कर सकते हैं।

आशा है कि यह

13

os.rename तभी काम करता है स्रोत और गंतव्य एक ही फाइल सिस्टम पर कर रहे हैं मदद करता है। आपको इसके बजाय shutil.move का उपयोग करना चाहिए।

संबंधित मुद्दे