- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
def get_user_profile(self, user_id):
logging.info('Fetching profile for user: %s' % user_id)
query = neo4j.CypherQuery(
self.db,
"""
CYPHER 1.9
START user = node({id})
MATCH
(user)-[?:follows]->(followed),
(follower)-[?:follows]->(user)
RETURN user, followed, follower
""")
data = query.execute(id = user_id).data
if not len(data) == 3: data += (3 * [None])[:3 - len(data)]
user, followed, followers = data
user = user.user
return { 'user': { 'name': user['name'], 'registered': user['registered'] },
'followed': followed,
'followers': followers }
Тяжелые последствия оверинжиниринга.
Пояснение: ответ от базы данных уже приходит в джинсах, но нельзя ж так просто взять и...
AHaHkacmHbIu_nemyx 25.08.2021 17:53 # 0