<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.min.js"></script>
<div id="content">
{{ text }}
</div>
我想检索所有订单,但是当我打电话
时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()
它让我回复:
Order.get_all_orders()
我想要他的名字,而不是检索用户ID,而不是
|1|carrot|23
任何帮助将不胜感激:) thx
编辑:在sql中,这样做是
|1|carrot|buyer1
答案 0 :(得分:0)
如果您更改get_all_orders()
方法以指定所需的列并指定过滤器,则可能会获得所需的内容。具体做法是:
return cls.query(cls.id,cls.product_name,User.username).filter_by(cls.user_id ==User.id).all()
答案 1 :(得分:0)
嗯,不确定它是否漂亮,但我设法这样做:
db.session.query(Order.id, product_name, ,User.username).filter(Order.user_id==User.id).all()
但也是这样
Order.query.with_entities(Order.id, product_name, ,User.username).filter(Order.user_id==User.id).all()