mtbの学んだことのブログ

とあるPythonエンジニアのブログ

djangoのadminコマンドをコードから呼ぶ。

djangoのadminコマンドを作った後に、テストを書きたいと思った。

どうやって、adminコマンドを呼ぶのか。

call_commandというのがあるのは知っているけど、再度調べたのでメモしておく。

ドキュメントはこちら。

django-admin と manage.py | Django documentation | Django

例えば、こんな風に呼べるコマンドがあった時、

$ python manage.py my_command --param=3

こんな風にすると呼ぶことができる。

from django.core.management import call_command

call_command('my_command', '--param=3')