OSError:[Errno 18]无效的跨设备链接

时间:2017-02-22 13:17:45

标签: python django database settings backend

我正在使用django 1.6.5和python 2.7。 我的应用程序中有导入功能,我收到错误:

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',
},

2 个答案:

答案 0 :(得分:39)

仅当源和目标位于同一文件系统上时,

os.rename才有效。您应该使用shutil.move代替。

答案 1 :(得分:2)

我认为重命名仅在源名称和目标名称位于同一文件系统上时才有效。你可能有不同的坐骑。否则你会得到那个错误。您可以通过复制和删除实现相同的效果。

希望有所帮助