Это уже неоднократно освещалось. Peewee разрешает объединенные модели в граф модели. Поэтому вы должны использовать:
query = (Tweet
.select(Tweet.content, User.username)
.join(User, on=(Tweet.user == User.id)))
for tweet in query:
# YOUR CODE:
print(tweet.username, tweet.content)
# CORRECT:
print(tweet.user.username, tweet.content)
Как вы можете надеяться, Peewee поместил поле "username" в экземпляр "user", связанный с твитом.
Если вы хотите просто поместите все выбранные атрибуты в исходную модель, затем используйте метод ".objects ()":
# Add .objects() to patch all attributes onto the tweet instance.
for tweet in query.objects():
# Now "username" is an attribute on tweet:
print(tweet.username, tweet.content)
Прочитайте документы. Пожалуйста. http://docs.peewee-orm.com/en/latest/peewee/relationships.html