3

私がする時python manage.py help

[myapp]
        update_overall_score 
        update_periodic_score

私のカスタムコマンドがリストされていて、実行できますが、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
4

1 に答える 1

5

私はまったく同じ問題を抱えていました。manage.py コードを数時間検索した後、これは設定ファイルの構成が原因であることがわかりました。Mezzanine を CMS として使用していました。あなたがそれを使用するとき、メザニンはOPTIONAL_APPS変数の下にいくつかのアプリを置くことができると言っているので、INSTALLED_APPSではなくこの変数の下にカスタムアプリを持っていました。INSTALLED_APPS に戻ると、すべてが期待どおりに機能し始めました。

アプリケーションが INSTALLED_APPS 以外の場所にないことを確認してください。manage.py は、この定数とまったく同じように見えます。

于 2013-04-04T09:51:36.213 に答える