que je fais une jointure comme ça dans SQLAlchemy de annoter de Django():SQLAlchemy équivalent à la méthode
items = Item.query\
.outerjoin((ItemInfo, ItemInfo.item_id==Item.id))
items.add_columns(ItemInfo.count)
Cela provoque SQLAlchemy pour revenir tuples:
>>> items.first()
(<Item ...>, 2)
Je préfère de beaucoup si la valeur « count » serait plutôt retourné comme un attribut de l'élément, à savoir que je veux faire:
>>> items.first().count
2
est-ce soutien ed?
Merci. La troisième option semble très cool, mais je ne veux probablement pas promouvoir cette requête locale spécifique à un niveau global-Model. Cela peut être utile si SQLAlchemy prend en charge quelque chose comme (2) comme méthode intégrée pour renvoyer le résultat. – miracle2k
mmm c'est un peu trop arbitraire comme un builtin, j'ai ajouté une recette généralisée à ma réponse ci-dessus que vous pouvez syntoniser à vos goûts. – zzzeek