2017-02-22 69 views
7

Pracuję z django 1.6.5 i python 2.7. Mam funkcji importowania w mojej aplikacji i otrzymuję błąd:OSError: [Errno 18] Nieprawidłowe łącze między urządzeniami

OSError: [Errno 18] Invalid cross-device link 

Mam problem z tą częścią kodu:

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

w ustawieniach:

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

Jaka jest wartość db_temp – iklinac

+0

'db_temp = settings.DATABASES [db_temp_name] [„NAZWA”]' @iklinac – mark

+0

wartość początkowa db_temp jako ciąg – iklinac

Odpowiedz

1

myślę przemianować działa tylko wtedy, gdy nazwy źródłowe i docelowe znajdują się w tym samym systemie plików. Prawdopodobnie masz różne wierzchowce. W przeciwnym razie pojawi się ten błąd. Ten sam efekt można zaimplementować za pomocą kopii i usunięcia.

Nadzieja pomaga

13

os.rename działa tylko jeśli źródłowy i docelowy są na tym samym systemie plików. Zamiast tego należy użyć shutil.move.

Powiązane problemy