title: SQLAlchemy - Multiple Foreign key pointing to same table same attribute
body: <p>My data base structure....</p>
  
  <pre><code>class Person(db.Model):
      id = db.Column(db.Integer, primary_key=True)
  
      user = db.relationship("BankSlip", back_populates="person_user")
      reference = db.relationship("BankSlip", back_populates="person_reference")
  
  class BankSlip(db.Model):
      id = db.Column(db.Integer, primary_key=True, autoincrement=True)
  
      person_user_id = db.Column(db.Integer, db.ForeignKey(Person.id))
      person_ref_id = db.Column(db.Integer, db.ForeignKey(Person.id))
  
      person_user = db.relationship("Person", back_populates="user", uselist=False, foreign_keys=[person_user_id])
      person_reference = db.relationship("Person", back_populates="reference", uselist=False, foreign_keys=[person_ref_id])
  </code></pre>
  
  <p>I get the following errors while running at sqlite with Flask-SQLAlchemy</p>
  
  <blockquote>
    <p>sqlalchemy.exc.AmbiguousForeignKeysError: Could not determine join condition between parent/child tables on relationship Person.user - there are multiple foreign key paths linking the tables.  Specify the 'foreign_keys' argument, providing a list of those columns which should be counted as containing a foreign key reference to the parent table.</p>
  </blockquote>
  
  <p>Here is my <code>pip freeze</code></p>
  
  <pre><code>appdirs==1.4.3
  APScheduler==3.3.1
  bcrypt==3.1.3
  blinker==1.4
  cffi==1.9.1
  click==6.7
  cssselect==1.0.1
  cssutils==1.0.2
  Flask==0.12
  Flask-Login==0.4.0
  Flask-Mail==0.9.1
  Flask-Principal==0.4.0
  Flask-SQLAlchemy==2.2
  Flask-WTF==0.14.2
  gunicorn==19.7.1
  itsdangerous==0.24
  Jinja2==2.9.5
  lxml==3.7.3
  MarkupSafe==1.0
  nose==1.3.7
  packaging==16.8
  pkg-resources==0.0.0
  premailer==3.0.1
  pycparser==2.17
  pyparsing==2.2.0
  python-dateutil==2.6.0
  pytz==2017.2
  requests==2.13.0
  schedule==0.4.2
  six==1.10.0
  SQLAlchemy==1.1.6
  tzlocal==1.4
  uWSGI==2.0.15
  Werkzeug==0.12.1
  WTForms==2.1
  </code></pre>
  
  <p><strong>Edit</strong>: One BankSlip can have one user and one reference.... It should be a one-to-one relationship where <code>parent -&gt; child</code> is <code>BankSlip -&gt; User</code> or <code>BankSlip -&gt; Reference</code>. So, a child can have multiple parents! </p>