python 3.x – Flask_sqlalchemy problema con claves foraneas

mi problema es que estoy creando 3 tablas:
Una tabla Usuario, una Mascota y Otra Fundacion,
La mascota recibe 2 FK una del usuario y otra de la fundacion,
El usuario al registrar su mascota le asigno el id de fundacion “nula” es una fundacion que sus datos son solo de relleno para proporcionarle el id de esa fundacion para no asignarle null ya que hasta donde tengo entendido no se deberia hacer eso.
Pero al momento que creo una mascota desde el usuario siempre termina asignando el mismo numero de id de usuario y de fundacion, ya sea el usuario 2,3,4,5 se replica ese id en la Fk id_fundation

class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(100), unique=True, nullable=False)
pets = db.relationship('Pet', cascade='all, delete', backref='User')

class Pet(db.Model):
__tablename__ = 'pets'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50), nullable=False)
id_owner = db.Column(db.Integer, db.ForeignKey('users.id', ondelete='CASCADE'))
id_fundation  = db.Column(db.Integer, db.ForeignKey('fundations.id', ondelete='CASCADE'))

class Fundation(db.Model):
__tablename__ = 'fundations'
id = db.Column(db.Integer, primary_key=True, unique=True)
name = db.Column(db.String(100), nullable=False)
pets = db.relationship('Pet', backref='Fundation')