class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(64), unique=True, index=True)
order = db.relationship('Order', backref='add_order_for_user', lazy='dynamic')
class Order(db.Model):
__tablename__ = 'orders'
id = db.Column(db.Integer, primary_key=True)
product_name = db.Column(db.String(64))
user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
@classmethod
def get_all_orders(cls):
return cls.query.filter_by().all()
我想取回所有的订单
^{pr2}$它给我的回报是:
|1|carrot|23
我不想检索用户id,而是想知道他的名字,这样我就可以
|1|carrot|buyer1
任何帮助将不胜感激:)thx
编辑:在sql中,应该这样做
select orders.id, product_name, users.username from orders, users where orders.user_id = users.id
嗯,不确定它是否漂亮,但我设法做到了:
但也是这样
^{pr2}$如果更改
get_all_orders()
方法以指定所需的列并指定筛选器,则可能会得到所需的结果。具体来说:return cls.query(cls.id,cls.product_name,User.username).filter_by(cls.user_id ==User.id).all()
相关问题 更多 >
编程相关推荐