原則として、 [
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))