这是在Django2.0和Python3.6.5中实现的
我有一个叫posts的应用程序,我改了型号.py到文件夹结构,即创建一个目录模型并移动文件型号.py内部。另请配置uuuu\ init\ uuuuuy.py文件,如下所述。 项目运行正常,但我的测试套件失败。你知道吗
在“我的设置”、“已安装的应用程序”中,我将应用程序设置为:
'myproject.apps.posts.apps.PostsConfig'
我的应用程序配置(发布)/应用程序.py)你知道吗
from django.apps import AppConfig
class PostsConfig(AppConfig):
name = 'posts'
verbose_name = 'posts'
我要搬家/型号.py到目录结构。所以我有
posts/models/models.py
posts/models/proxymodels.py
posts/models/__init__.py
在models/\uuuuuinit\uuuuy.py中,我确实按照doc中的说明导入了我的模型
from .models import Job
from .proxys import ActiveJob
项目运行良好,但在尝试运行测试时:
python manage.py test
我有一个错误:
RuntimeError: Model class tektank.apps.posts.models.models.Job doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
该模型是一个正常的,有字段,没有多余的。问题是如果我在meta中声明
class Meta:
app_label = 'posts'
我得到以下错误:
RuntimeError: Conflicting 'job' models in application 'posts': <class 'posts.models.models.Job'> and <class 'tektank.apps.posts.models.models.Job'>.
注意:如果使用pytest,则运行以下命令:
pytest
运行正常
更新
如果执行以下操作,则会出现相同的错误:
./manage.py test myproject/apps/posts
如果我只使用app name执行,则不会检测到任何测试
./manage.py test posts
Ran 0 tests in 0.000s
OK
如果我输入tests文件夹的路径,它工作正常。你知道吗
./manage.py test myproject/apps/posts/tests
Ran 2 tests in 0.074s
OK
./manage.py test posts.tests
Ran 2 tests in 0.103s
OK
但是我不满意这个,如果我想运行所有的测试,它仍然会失败。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐