Вы можете сделать это несколькими способами в зависимости от того, как вы хотите данных. Если вы запросите его из родительской учетной записи, это будет чем-то вроде эффекта:
SELECT Id, Name, (Select ID, Name, Other_Parent__r.Name FROM Jira_Datas__r) FROM Account
или из соединения
SELECT Id, Name, Account.Name, Other_Parent__r.Name FROM Jira_Data__c
Вы не назвали столбец func.max()
, поэтому нет имени для использования в качестве ключа в результирующем словаре. Столбцы функции агрегирования не называются автоматически даже при объединении одного столбца; то, что вы основали этот столбец на столбце time_end
, здесь не имеет значения.
Дайте этому столбцу метку:
latest_projects = db.session.query(
func.max(Project.time_end).label('time_end'),
Project.analyst
).group_by(Project.analyst)
Демонстрация:
>>> latest_projects = db.session.query(
... func.max(Project.time_end).label('time_end'),
... Project.analyst
... ).group_by(Project.analyst)
>>> for row in latest_projects.all():
... print (row._asdict())
...
{'time_end': datetime.datetime(2018, 11, 21, 14, 55), 'analyst': 'Bob'}
{'time_end': datetime.datetime(2016, 9, 6, 1, 35), 'analyst': 'Fred'}
{'time_end': datetime.datetime(2017, 10, 21, 8, 0), 'analyst': 'Jane'}