Нет операции GQL JOIN
.Прочтите статью о моделировании отношений , чтобы узнать о некоторых других методах, которые вы можете использовать.Кроме того, обязательно посмотрите Создание масштабируемых, сложных приложений на App Engine , это будет стоить вашего времени.
С вашими текущими моделями вам нужно будет выбрать пользовательский объект (илисоздайте его ключ!) затем запросите его.Например:
user = User.all(keys_only=True).filter('account', 'Tom').get() # only get one.
# or, build the key (if possible)
user = db.Key.from_path('User', 'tom') # if you make 'account' the key_name
messages = Message.all().order('-created').filter("user =", user)
Другим вариантом является деномализация дизайна и сохранение «учетной записи» в сообщении:
class Message(db.Model):
user = db.ReferenceProperty()
account = StringProperty()
text = StringProperty()
created = DateTimeProperty(auto_now=True)
messages = Message.all().order('-created').filter("account =", 'tom')