2

ドキュメントからto_python:

原則として、 [ to_python] は次の引数のいずれかを適切に処理する必要があります。

  • 正しいタイプのインスタンス (例:Hand進行中の例)。
  • 文字列 (たとえば、デシリアライザーから)。
  • 使用している列の型に対してデータベースが返すもの。

私は自分のテスト カバレッジ (coverage.py を使用) と、私の .py の上部にあるコードのビットを見ていますto_python:

def to_python(self, value):
    if isinstance(value, Hand):
        return value

    # More code for handling strings below (I never get here)

to_python呼び出される私のメソッドの唯一の部分です。他に何をテストする必要がありますか? データベースからのオブジェクトの保存と取得をテストし、次のようなシリアル化をテストしました。

   cereal = serializers.serialize('json',
                                   Hand.objects.all())
   objects = list(serializers.deserialize("json", cereal))
4

1 に答える 1

0

to_python値が提供されていない場合 (たとえば、フィールドが null を許可するように設定されている場合) に、インスタンス以外のもので終わる場所が 1 つあります。その場合、実装がget_prep_value下手だったので、to_pythonを含む文字列が渡されましたNone

于 2012-06-20T20:38:39.660 に答える