2010-03-15 6 views

Répondre

1

Jetez un oeil à SQL Expressions as Mapped Attributes. Quelque chose comme cela devrait faire le travail pour vous:

Book.read = column_property(
     select(
      [func.count(user_to_book_table.c.user_id)], 
      user_to_book_table.c.book_id == book_table.c.id 
     ).label('read') 
    ) 

Même si ce n'est pas booléenne, vous pouvez toujours l'utiliser dans les instructions IF correctement:

if mybook.read: 
    print 'very popular book indeed' 

Sinon, vous pouvez simplement ajouter un ordinateur (lecture seule) propriété sur l'objet livre, mais cela va charger tous les utilisateurs dans votre session:

@property 
def read(self): 
    return len(self.books)!=0 
+0

Merci pour les pointeurs – Timtim

Questions connexes