How do we define quasi-coherent sheaves on schemes?


Say we start by defining the category of affine schemes Aff as CRing$^{op}$ (the opposite category of unitary commutative rings).
In this context we have an obvious way to define quasi-coherent sheaves:


A quasi-coherent sheaf on an affine scheme X=Spec A is just an A-module.


If we now define schemes as presheaves on Aff (satisfying some condition), how do we define what a quasi-coherent sheaf is?
The same question applies also to the operations of pushforward and pullback, which in Aff have obvious definitions.



Quasi-coherent sheaves in the Functor-of-points approach
The corresponding [nlab page](http://ncatlab.org/nlab/show/quasicoherent+sheaf) has several approaches to the definition of quasicoherent sheaves of O-modules including some in functor of points approach, in various degrees of abstractness. All these definitions while simultaneously applicable define equivalent categories. This works not only for (qcoh modules) over schemes but over more general functors \*(e.g. stacks) on Aff. Look also for some quoted references there, including Orlov's paper mentioned by Zhang in the comment above. 


