Je travaille avec Django 1.6.5 et python 2.7. J'ai la fonction d'importation dans mon application et j'obtiens une erreur:
OSError: [Errno 18] Invalid cross-device link
J'ai un problème avec cette partie du code:
os.rename(db_temp, settings.DATABASES['bookmat']['NAME'])
code dans les paramètres:
'bookmat': {
'ENGINE': 'Django.db.backends.sqlite3',
'NAME': '/my_projects/book/db/bookmat.sqlite3',
},
os.rename
ne fonctionne que si la source et la destination se trouvent sur le même système de fichiers. Tu devrais utiliser shutil.move
au lieu.
Je pense que renommer ne fonctionne que lorsque les noms source et cible se trouvent sur le même système de fichiers. Vous avez probablement différentes montures. Sinon, vous obtenez cette erreur. Vous pouvez implémenter le même effet avec une copie et une suppression.
J'espère que ça aide