Bab*_*abu 3 python django command
当我做python manage.py help
[myapp]
update_overall_score
update_periodic_score
Run Code Online (Sandbox Code Playgroud)
列出了我的自定义命令,我可以在其中运行update_periodic_score,python manage.py update_periodic_score但是当我尝试另一个命令时,我收到错误Unknown command: 'update_overall_score'。
会有什么问题呢?这两个文件都放置在所有目录中的目录中myapp/management/commands。__init__.py
这是我的 update_overall_score.py,
from django.core.management.base import BaseCommand, CommandError
from myapp.models import Users
class Command(BaseCommand):
"""
Updates the overall_score field of every user.
"""
def handle(self, *args, **options):
all_users = Users.objects.all()
try:
for user in all_users:
likes = user.likes_received.count()
stars = user.stars_received.count()
user.overall_score = likes + stars
user.save()
except Exception, e:
print e
return
print "Updated Overall Score."
return
Run Code Online (Sandbox Code Playgroud)
我有同样的问题。经过几个小时搜索manage.py代码后发现这是由我的设置文件配置引起的。我使用 Mezzanine 作为我的 CMS。当您使用它时,Mezzanine 表示您可以将一些应用程序放在 OPTIONAL_APPS 变量下,因此我将自定义应用程序放在该变量下,但不在 INSTALLED_APPS 中。移回 INSTALLED_APPS,一切都开始按预期工作。
确保您的应用程序位于 INSTALLED_APPS 下。Manage.py 看起来完全符合这个常量。
| 归档时间: |
|
| 查看次数: |
8672 次 |
| 最近记录: |