title: SQLAlchemy: Issue with One-to-One relationship object creation
body: <p>I am new to SQLAlchemy and I was trying to run samples given in its documentation <a href="http://docs.sqlalchemy.org/en/latest/orm/basic_relationships.html#one-to-one" rel="nofollow">Basic Relationship Patterns - One to One Relationship</a>. However as I try to instantiate the Parent class, I get into trouble.</p>
  
  <p>Basically, what I have is:</p>
  
  <pre><code>class Parent(Base):
      __tablename__ = 'parent'
      id = Column(Integer, primary_key=True)
      child = relationship("Child", uselist=False, back_populates="parent")
  
  class Child(Base):
      __tablename__ = 'child'
      id = Column(Integer, primary_key=True)
      parent_id = Column(Integer, ForeignKey('parent.id'))
      parent = relationship("Child", back_populates="child")
  
  p1 = Parent()
  </code></pre>
  
  <p>The tables are made and are listed by .tables at sqlite> prompt, but at the line p1 = Parent() I receive this:</p>
  
  <blockquote>
    <p>sqlalchemy.exc.ArgumentError: reverse_property 'parent' on relationship Parent.child references relationship Child.parent, which does not reference mapper Mapper|Parent|parent</p>
  </blockquote>
  
  <p>This doesn't happen for one-to-many relationship and for this piece of code I get <strong>[ ]</strong> and <strong>None</strong> printed out as I expect:</p>
  
  <pre><code>class User(Base):
      __tablename__ = 'user'
      id = Column(Integer, primary_key=True)
      name = Column(String)
  
      addresses = relationship("Address", back_populates="user")
  
  class Address(Base):
      __tablename__ = 'address'
      id = Column(Integer, primary_key=True)
      email = Column(String)
      user_id = Column(Integer, ForeignKey('user.id'))
  
      user = relationship("User", back_populates="addresses")
  
  
  u1 = User()
  a1 = Address()
  
  print(u1.addresses)
  print(a1.user_id)
  </code></pre>
  
  <p>So, I don't quite understand what the SQLAlchemy error message is trying to tell me. </p>
  
  <p>Can anyone help please?</p>