title: How to stop creating new nested rows during loading
body: <p>I serialize/deserialize my data with marshmallow-sqlalchemy.</p>
  
  <p>When I try to deserialize following data (Model2 with id=1 is present in the database, and id=2 is not) deserializer tries to create new row for id=2. How can I change this behaviour to add error if given models2 id is not present in the database?</p>
  
  <p>Example input:</p>
  
  <pre><code>input = {
      "id": 1,
      "models2": [{"id": 1}, {"id": 2}]
  }
  </code></pre>
  
  <p>My models:</p>
  
  <pre><code>class Model1(db.Model):
      __tablename__ = 'model1'
  
      id = db.Column(db.Integer, primary_key=True)
      models2 = relationship('Model2', secondary='Model1Model2', backref='models1')
  
  class Model1Model2(db.Model):
      __tablename__ = 'model1_model2'
  
      id = db.Column(db.Integer, primary_key=True)
      model1_id = db.Column(Integer, ForeignKey('model1.id', ondelete='CASCADE'))
      model2_id = db.Column(Integer, ForeignKey('model2.id'))
  
  class Model2(db.Model):
      __tablename__ = 'model2'
  
      id = Column(Integer, primary_key=True)
      name = Column(String)
  </code></pre>
  
  <p>My schemas:</p>
  
  <pre><code>class BaseSchema(ModelSchema):
      class Meta:
          sqla_session = SESSION
  
  
  class Model2Schema(BaseSchema):
      class Meta(BaseSchema.Meta):
          model = Model2
          dump_only = ('name',)
  
  
  class Model1Schema(BaseSchema):
      class Meta(BaseSchema.Meta):
          model = Model1
          fields = ('id', 'name')
  
      models2 = Nested(Model2Schema, many=True, only=('id'))
  
  </code></pre>