我有一个本地表,它需要从远程数据库中引用一个视图。
两个模型都在同一个应用程序中定义。
现在,我想使用 django-import-export 从 excel 导入数据或从表单保存数据。
它一直在读取错误的数据库。
我的本地数据库是 SQLite,远程数据库是 MSSQL。
用于访问视图的模型:
class EmpView(models.Model):
class Meta:
db_table = 'View_Emp'
managed = False
indexes = [
models.Index(fields=['code',]),
]
...
当模型是视图时,我将路由器设置为让 Django 读取远程数据库,否则从默认视图读取:
def db_for_read(self, model, **hints):
if model.__name__ == 'EmpView':
return 'emp'
return 'default'
和错误:
Traceback (most recent call last):
File "E:\Projects\Envs\.as\lib\site-packages\django\db\backends\utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
File "E:\Projects\Envs\.as\lib\site-packages\django\db\backends\sqlite3\base.py", line 298, in execute
return Database.Cursor.execute(self, query, params)
sqlite3.OperationalError: no such table: main.View_Emp
你可以说它读取本地数据库,但它应该读取远程数据库。
我哪里错了?
我发现了这个问题,但没有答案: Django 1.11.1 上有多个数据库的“没有这样的表”
但我正在使用一个视图,它必须是不受管理的......