コード例 #1
0
    def update(self, instance: Game, validated_data: Dict[str, Any]):
        # Todo request の値が None のときに例外を発行
        x = validated_data.pop('x')
        y = validated_data.pop('y')

        # validate メソットだと instance の情報がないためここで検証
        if not instance.winner == WinnerChoices.EMPTY.value[0]:
            raise serializers.ValidationError('有効な座標ではありません')
        if not instance.valid_reversing(x, y):
            raise serializers.ValidationError('有効な座標ではありません')

        instance.reversing(x, y)
        instance.save()
        return instance