I have two tables:

```
class Candidate(Base):
    __tablename__ = 'candidates'
    id = Column(Integer, primary_key=True)
    email = Column(String)
    first = Column(String)
    last = Column(String)
    company = Column(String)
    title = Column(String)
    linkedin_url = Column(String, unique=True)
    role = Column(String)

    emails = relationship("Email", back_populates="candidate")

class Email(Base):
    __tablename__ = 'emails'
    id = Column(Integer, primary_key=True)
    candidate_id = Column(Integer, ForeignKey('candidates.id'))
    email_id = Column(String, nullable=False)
    thread_id = Column(String, nullable=False)
    date = Column(String, nullable=False)
    subject = Column(String, nullable=False)
    to = Column(String, nullable=False)
    carbon_copy = Column(String, nullable=False)
    from_ =  Column(String, nullable=False)
    text_body = Column(String, nullable=False)
    epoch_time = Column(String, nullable=False)

    candidate = relationship("Candidate", back_populates="emails")

```

I'm trying to write a join in SQLAlchemy:

```
q = db_session.query(Candidate).join(Email)

```

I'd like to be able to do something like `q.first().email_id` and `q.first().id` but I'm getting an error `AttributeError: 'Candidate' object has no attribute 'email_id'`

When I print out the raw SQL: `print str(q)` it returns `FROM candidates JOIN emails ON candidates.id = emails.candidate_id`

which looks correct. 

So why do I get an error when I try to access the joined table? `q.first().id` returns `1` but `q.first().email_id` gives an error.

Any thoughts?