LINUX.ORG.RU

История изменений

Исправление Goury, (текущая версия) :

Проглядывается XY-проблема.
Давай сразу X.

class Person(Model):
    name = TextField()

class Account(Model):
    person = ForeignKeyField(Person, backref='accounts', unique=True)
    account_data = TextField()

query = (Person
         .select(Person, Account)
         .join(Account, JOIN.LEFT_OUTER, attr='account')  # To get people w/no account
         .order_by(Person.name))
# This is efficiently done in a single query:
for person in query:
    print(person.name, person.account.account_data)

Исправление Goury, :

class Person(Model):
    name = TextField()

class Account(Model):
    person = ForeignKeyField(Person, backref='accounts', unique=True)
    account_data = TextField()

query = (Person
         .select(Person, Account)
         .join(Account, JOIN.LEFT_OUTER, attr='account')  # To get people w/no account
         .order_by(Person.name))
# This is efficiently done in a single query:
for person in query:
    print(person.name, person.account.account_data)

Исходная версия Goury, :

class Person(Model):
    name = TextField()

class Account(Model):
    person = ForeignKeyField(Person, backref='accounts', unique=True)
    account_data = TextField()

query = (Person
         .select(Person, Account)
         .join(Account, JOIN.LEFT_OUTER, attr='account')  # To get people w/no account
         .order_by(Person.name))
# This is efficiently done in a single query:
for person in query:
    print(person.name, person.account.account_data)