1

他の多くの人と同じように、私はテストアプリの構築を通じてdjangoでのWeb開発を学んでいます。基本モデルを設定しました。フィクスチャを使用してさらにテストするために必要な絶対最小データをいくつかのテーブルに入力しました。

次に、別のテーブルについて、必要な引数をとるカスタム管理コマンドを使用してデータタプルを作成します。これが期待どおりに機能する場合は、--saveオプションを追加して、作成したデータをデータベースに保存します。

コマンドの構文は次のようになります

create_raw_data owner_id temperature [--save]

ここで、owner_idは必須であり、temperature(Cでは)オプションです。Handleメソッド内では、ファクトリボーイraw_dataを使用して、指定された引数などを使用してを作成しています。

私はいくつかの問題を抱えていましたが、SO、google、django docsなどを検索すると、コマンドは正常に機能しています。

負の温度を入力した場合を除きます。

次に、次のエラーが発生します

Usage: C:\test\manage.py create_raw_data [options] 

Creates a RawData object. Usage:  create_raw_data owner_id temperature [--save]

C:\test\manage.py: error: no such option: -5

argsを解析するために私が持っているコードはこのようなものです

for index, item in enumerate(args):
    if index == 0:
        owner_id = int(item)
    else index == 1:
        temp = int(item)

print(args)中に1行目を入れましたHandleが、ここまでコントロールが届いていないようです。

何が悪いのかわかりません...助けてください...

どうもありがとう

4

1 に答える 1

1

問題が修正されたので、これに遭遇する可能性のある他の人に答えを提供します。

問題は、optparseのparse_argsメソッドにありました。optparseは非推奨であり、代わりにargparseが推奨されていますが、djangoはoptparseを使用することを推奨していることを、多くの場所で読みました。簡単に言えば、リンクのリンクはいくつかの代替案を提案し、create_raw_data 1 -- -5期待どおりに作品を使用しています。だから私は回避策を得ました。ありがとう。

于 2012-11-08T04:53:40.910 に答える