1

我有一个预先存在的sqlite3格式的数据库文件'sample.db',我正试图将它导入到我的Django项目中。我已经将它添加到 settings.py 文件中:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    },
    'sample': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'sample.db',
}

我能够使用inspectdb 在我的应用程序文件夹中生成model.py。我已经运行了 makemigrations 和 migrate ,一切似乎都很好。

我尝试在views.py中获取一些数据:obj = table_name.objects.get(id=1)

然后我启动服务器:python manage.py runserver,并尝试在http://127.0.0.1:8000/加载一个页面

它显示一条错误消息:NameError at / Name table_name is not defined

我错过了什么?

谢谢!

4

1 回答 1

0

由于您已将示例数据库添加到设置中,因此sample您需要确保查询使用正确的数据库。

例如obj = table_name.objects.get(id=1).using('sample')

另一种方法是将您的数据库配置为default设置。

于 2021-05-01T19:04:16.873 回答