1
그래서, 내가SQLAlchemy의 쿼리 및 필터링
db.session.query(Address).order_by(Person.birthday.desc()).first()
같은과 그것을 를 얻을 수 있다고 생각 나는 그런
class Person
birthday
class Address
state
로 정의 몇 가지 간단한 클래스를 가지고 있고 각각의 상태에서 가장 오래된 사람을 원하는 말할 수
하지만 지금은 다른 클래스
class pet
species
를 추가하고 난 이전을 찾으려면 그는 가장 오래된 없었기 때문에 다음에서 이렇게 종 의 각 유형에 대한 각 상태에서 추정 사람 ...
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 개의 루프에 대해 중첩되어 있으며 쿼리가 부족하여 이것이 덜 이상적인 솔루션이라고 가정합니다.
시작 : 비슷한를 생성합니다
: 파이썬에서 http://docs.sqlalchemy.org/en/latest/orm/relationships.html –
@TomDignan, 더 구체적으로 다루십시오. –