我正在尝试将 Lettuce 添加到现有的 Django 项目中。配置了一个非常简单的功能目录后,我不断收到django.contrib.admin.sites.AlreadyRegistered
:模型系列已注册。我检查了不同的导入(例如 import .models
与 import reg.models
)、重复导入以及可能重新导入我的 admin.py 却无济于事的错误应用程序。该错误似乎来自生菜尝试重新加载模块。我不确定它为什么要这样做。回溯如下。
(dwcoop)s001 cro-mbp[126]% DJANGO_SETTINGS_MODULE=settings.testing django-admin.py harvest reg
Creating test database for alias 'default'...
Django's builtin server is running at 0.0.0.0:8000
Traceback (most recent call last):
File "/Users/cro/src/ve/dwcoop/lib/python2.7/site- packages/lettuce/django/management/commands/harvest.py", line 167, in handle
result = runner.run()
File "/Users/cro/src/ve/dwcoop/lib/python2.7/site-packages/lettuce/__init__.py", line 137, in run
self.loader.find_and_load_step_definitions()
File "/Users/cro/src/ve/dwcoop/lib/python2.7/site-packages/lettuce/fs.py", line 60, in find_and_load_step_definitions
reload(module) # always take fresh meat :)
File "/Users/cro/src/ve/dwcoop/web/web/reg/admin.py", line 60, in <module>
admin.site.register(Family, FamilyAdmin)
File "/Users/cro/src/ve/dwcoop/lib/python2.7/site-packages/django/contrib/admin/sites.py", line 83, in register
raise AlreadyRegistered('The model %s is already registered' % model.__name__)
AlreadyRegistered: The model Family is already registered
Destroying test database for alias 'default'...
最佳答案
我面临着同样的问题,来自 cucumber 背景,希望从运行“harvest”开始,然后编写我的第一个功能文件。但我面临着这个错误。显然,如果您正在运行的应用程序中没有功能文件夹(由 settings.py 中的 LETTUCE_APPS 定义),并且其中至少有一个步骤定义文件 (.py)。看起来如果它没有找到默认位置的功能,它就会开始进行彻底的搜索,重新加载模块,从而导致管理重新加载失败。
关于django - 将生菜添加到现有的 django 项目会抛出 'model already registered',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17004347/