我可以将其合并到一个查询中并使其更快吗?我有表 Person 和 Cart(表中的 id 是从 Base 模型继承的)
class PersonModel(Base):
__tablename__ = 'persons'
username = Column(String(30), nullable=True, default=None)
email = Column(String(75), nullable=True, default=None)
password = Column(String(128), nullable=True, default=None)
class CartModel(Base):
__tablename__ = 'carts'
person_id = Column(Integer, ForeignKey('persons.id'), nullable=False, index=True)
text = Column(String(300), nullable=True)
began_at = Column(BigInteger, nullable=False)
ended_at = Column(BigInteger, nullable=False, default=utc_time)
datetime = Column(TIMESTAMP, server_default=func.now())
money = Column(Float, default=0)
quantity = Column(Integer, default=0)
我需要从人员中查找用户名,并从购物车中查找自时间 t 以来发生的所有购物车的数量。
result = []
for c in session.query(CartModel).filter(CartMode.ended_at >= t).all():
p = session.query(PersonModel).filter(PersonModel.id == c.person_id).first()
if p:
result.append((p.username, c.quantity))
如何将其粘合到一个查询中?