この方法でこれを実行するには、必須およびオプションのパラメーターを使用してインポート機能を実装します。
python manage.py import --mode archive
どこ --mode
は必須で、archive
も必要です。
Argparseライブラリを使用しています。
class Command(BaseCommand):
help = 'Import'
def add_arguments(self, parser):
parser.add_argument('--mode',
required=True,
)
parser.add_argument('archive',
required=True,
default=False,
help='Make import archive events'
)
しかし、私はエラーを受け取りました:
TypeError: 'required' is an invalid argument for positionals
位置引数を作成しました(名前の前に--
オプションはありません)。位置引数はalways必須です。このようなオプションにrequired=True
を使用することはできません。単にrequired
をドロップしてください。 default
もドロップします。必須の引数にデフォルト値を設定することはできません(とにかく使用されることはありません):
parser.add_argument('archive',
help='Make import archive events'
)
archive
をコマンドラインスイッチにする場合は、代わりに--archive
を使用します。
--mode archive
は「モードはアーカイブ」を意味すると考えられます。つまり、archive
は、個別の引数ではなく、--mode
引数の値です。 。もしそうなら、それは--archive
でなければなりません。
archive
の定義を省いてください。