I wish to create a mapped attribute of an object which is populated from another table.

Using the SQLAlchemy documentation example, I wish to make a user\_name field exist on the Address class such that it can be both easily queried and easily accessed (without a second round trip to the database) 

For example, I wish to be able to query and filter by `user_name` `Address.query.filter(Address.user_name == 'wcdolphin').first()`
And also access the `user_name` attribute of all Address objects, without performance penalty, and have it properly persist writes as would be expected of an attribute in the `__tablename__`

```
class User(Base):
    __tablename__ = 'users'

    id = Column(Integer, primary_key=True)
    name = Column(String(50))
    addresses = relation("Address", backref="user")

class Address(Base):
    __tablename__ = 'addresses'

    id = Column(Integer, primary_key=True)
    email = Column(String(50))
    user_name = Column(Integer, ForeignKey('users.name'))#This line is wrong

```

How do I do this?

I found the documentation relatively difficult to understand, as it did not seem to conform to most examples, especially the Flask-SQLAlchemy examples.