2017-03-07 13 views
1

idを文字列として使用してカスタムdjangoコマンドを呼び出そうとすると、問題なく動作します。Django call_command()パラメータ型の問題

call_command(COMMAND, '-i', '23') 

しかし、オブジェクトのIDを文字列にキャストしようとすると、機能しません。

call_command(COMMAND, '-i', str(product.id)) 

それは、このエラーになる:

Traceback (most recent call last): 
    File "/usr/local/lib/python3.6/site-packages/kombu/utils/__init__.py", line 423, in __call__ 
    return self.__value__ 
AttributeError: 'ChannelPromise' object has no attribute '__value__' 

なぜこれが起こっているすべてのアイデア?

+0

...コマンドは、タスクを呼び出しているので、私はそれがtask.delayまだ

それだけでパラメータとして文字列を入れて働いたという奇妙なをトリガいないことを確認しましたしました.id) 'の前に' call_command'があります。 – ZdaR

+0

それは私にこれを与えます:23 –

+1

私が困惑しているのはスタックトレースの短さです。それは '__init __。py'が直接呼び出されたことを意味します。 –

答えて

0

この関数はテストの中にあり、@override_settings(DEBUG = True)が追加されました。トライ `印刷STR(製品

+1

この場合、問題を再現するためにほとんどの部品が欠落していました。 –

+0

また、回答を使用して情報/説明を追加することはできません。代わりにコメントを使用したり、質問を編集したりするべきです。 –

関連する問題