prefetch not work when joining same model
I have some models like this:

```
class Version(BaseModel):
    name = CharField()

    @property
    def sources(self):
        return [i.from_version for i in self.sources_connection]

    @property
    def destinations(self):
        return [i.to_version for i in self.destinations_connection]


class VersionRelationship(BaseModel):
    from_version = ForeignKeyField(Version, backref='destinations_connection')
    to_version = ForeignKeyField(Version, backref='sources_connection')

query = Version.select().where(Version.id > 12700)
# query = query.limit(20)

subquery1 = VersionRelationship.select(VersionRelationship, Version).join(Version, on=VersionRelationship.from_version)
subquery2 = VersionRelationship.select(VersionRelationship, Version).join(Version, on=VersionRelationship.to_version)


prefetch(query, subquery1)
prefetch(query, subquery2)


for q in query:
    print q.sources_connection
    print q.destinations_connection

    print q.sources
    print q.destinations
```

When I only prefetch subquery1 and only view sources, it works fine. But doesn't work if I prefetch both and view sources and destinations.
Did I miss something or it's a bug?

