相关疑难解决方法(0)

在Django视图中访问其他项目中的模型会导致"表不存在"错误

基础项目结构

baseproject
    baseapp
        models.py
            class BaseModel(models.Model)
            ...
Run Code Online (Sandbox Code Playgroud)

其他项目结构:

project
    app
        views.py
        urls.py
Run Code Online (Sandbox Code Playgroud)

project.app.views.py

import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings'
from django.conf import settings
from baseproject.baseapp.models import BaseModel
print BaseModel.objects.count()
Run Code Online (Sandbox Code Playgroud)

从命令行运行时,它引发了"表'project.baseapp_baemodel'不存在"错误:"python views.py".

import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'baseproject.settings'
from django.conf import settings
from baseproject.baseapp.models import BaseModel
print BaseModel.objects.count()
Run Code Online (Sandbox Code Playgroud)

将project.settings更改为baseproject.settings后,它在命令行中运行.

import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'baseproject.settings'
from django.conf import settings
from baseproject.baseapp.models import BaseModel

def someview(request):
    count = BaseModel.objects.count()
    return render_to_response(...)
Run Code Online (Sandbox Code Playgroud)

但是当通过在浏览器中打开相应的URL来访问视图时,它仍然会引发"表'project.baseapp_baemodel'不存在"错误.

上面的代码有什么问题?

python django model

2
推荐指数
1
解决办法
2909
查看次数

标签 统计

django ×1

model ×1

python ×1