1
所以可以說我有這樣定義SQLAlchemy的查詢和過濾
class Person
birthday
class Address
state
一些簡單的課程,我想從每個州最古老的人,我想我會喜歡的東西
db.session.query(Address).order_by(Person.birthday.desc()).first()
得到它
,但現在我添加另一個類
class pet
species
,我想找到老EST人在每個國家每種類型的物種 所以從下面的...
john - MI - dog - 50
alex - MI - dog - 51
joe - MI - cat - 10
tina - FL - cat - 20
我只想
alex, joe, tina
而不是約翰,因爲他不是最古老的。
我怎麼能建立一個查詢去做這件事。我應該學習哪些主題 ?
這是迄今爲止我的最佳嘗試。此代碼是特定於我的數據庫:
def most_recent_completed_uss(user):
lids = []
for o in user.organizations:
for sh in o.survey_headers:
for ss in sh.survey_sections:
l = datetime.datetime(1,1,1)
lid = None
for uss in ss.user_survey_sections:
if o.id == uss.organization.id:
if l == datetime.datetime(1,1,1):
lid = uss.id
if (uss.completed_date and uss.completed_date >= l):
l = uss.completed_date
lid = uss.id
lids.append(lid)
return lids
當然4嵌套for循環和缺乏查詢使我認爲這是一個不太理想的解決方案。
這裏開始:http://docs.sqlalchemy.org/en/latest/orm/relationships.html – 2013-03-21 18:12:21
@TomDignan,關心更具體。 – 2013-03-21 18:48:41