0

レコードをリアルタイムで、またはこれに似た方法で自動的に削除しようとしています

私が理解しているように(私は初心者です)、管理コマンドを書く必要がありますが、概念を理解するのに苦労しています。どうすればリアルタイムでできますか?誰かが私を正しい方向に向けることができますか? 私は非常に混乱しています。前もって感謝します。

4

1 に答える 1

3

カスタム Django コマンドについて知りたいことはすべて、https ://docs.djangoproject.com/en/1.8/howto/custom-management-commands/ のドキュメントで見つけることができます。

基本的に、ディレクトリを作成する必要があるmanagement/commandsため、フォルダー構造は次のようになります。

app/
    ... (some stuff you're having in your app directory)
    management/
        __init__.py
        commands/
            __init__.py
            delete_all.py

ここで、拡張してすべてのロジックを担当delete_all.pyする新しいコマンド クラスを宣言します。BaseCommandそのような最も簡単な実装は次のようになります。

# delete_all.py
from django.core.management.base import BaseCommand
from app.models import MyModel


class Command(BaseCommand):
    def handle(self, *args, **options):
        print('Deleting all MyModel records!')
        MyModel.objects.all().delete()
        print('Successfully deleted all MyModel records!')

これで、コマンドにアクセスできますmanage.py:

python manage.py delete_all
于 2015-11-20T17:25:36.097 に答える