Извлекает список друзей конкретного пользователя, когда я выбираю этого пользователя в appengine

#google-app-engine #jdo #datanucleus

#google-app-engine #jdo #datanucleus

Вопрос:

У меня были две сущности User и friends в app engine JDO, в которых у пользователя был список друзей, поэтому я хочу, чтобы при выборе из таблицы User также извлекал из сущности friend список друзей, связанных только с этим пользователем …. как я могу выполнить это в app engine?

Комментарии:

1. Как выглядит ваша модель данных?

2. Это просто единственный пользователь, у которого должен быть набор друзей, поэтому мне нужен список пользователей объекта<Друзья> Я новичок в app engine, поэтому я не знаю, как управлять этим отношением .. как при выборе пользователя я могу получить всех его друзей из таблицы Friends

Ответ №1:

Отношения между объектами для python описаны здесь (я думаю, это почти то же самое для Java): http://code.google.com/appengine/articles/modeling.html

Кажется, вам нужно отношение «многие ко многим». Самый простой способ сделать это — иметь список свойств db.key в вашей пользовательской модели. Вы можете убедиться, что всякий раз, когда вы создаете новое соединение между друзьями, оба списка друзей обновляются.

В качестве альтернативы вы могли бы определить функцию, которая выполняет поиск в базе данных пользователей, у которых есть определенный пользовательский ключ в их списке друзей, используя запрос gql. Однако, ИМХО, это кажется несколько менее организованным, чем другой метод.