[英]SQLAlchemy .all() not returning all when called with filter_by()
so whenever i Order.query.all() the results returned are complete, but when Order.query.filter_by(id=current_user.id).all() I only get one result back.所以每当我 Order.query.all() 返回的结果是完整的,但是当 Order.query.filter_by(id=current_user.id).all() 我只得到一个结果。
DB model setup: DB model 设置:
class User(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(30), nullable = False)
email = db.Column(db.String(60), unique = True, nullable = False)
password = db.Column(db.String(60), nullable = False)
phone = db.Column(db.Integer, nullable = False)
country = db.Column(db.String(30), nullable = False)
city = db.Column(db.String(30), nullable = False)
address = db.Column(db.String(350), nullable = False)
kaftl = db.Column(db.String(30), nullable = False)
order = db.relationship('Order', backref='buyer', lazy=True)
class Order(db.Model):
id = db.Column(db.Integer, primary_key=True)
date = db.Column(db.DateTime, nullable = False, default=datetime.utcnow)
order = db.Column(db.Text, nullable = False)
kaftl = db.Column(db.Integer, nullable = False)
price = db.Column(db.Integer, nullable = False)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
HTML just in case it's useful: HTML 以防万一它有用:
{% for order in orders %}
{{ order.price }}
{{ order.order }}
{% endfor %}
I think instead of id, you should use user_id as;我认为您应该使用 user_id 而不是 id;
Order.query.filter_by(user_id=current_user.id).all()
Because id is unique for each object and when you call that code, it actually returns you the order with id= current_user.id.因为每个 object 的 id 都是唯一的,当您调用该代码时,它实际上会返回 id= current_user.id 的订单。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.