Python SQLalchemy多对多:选择并更新
我对SQLAlchemy一无所知,非常感谢你的帮助 我有两个多对多关系的模型:Python SQLalchemy多对多:选择并更新,python,sqlalchemy,flask-sqlalchemy,Python,Sqlalchemy,Flask Sqlalchemy,我对SQLAlchemy一无所知,非常感谢你的帮助 我有两个多对多关系的模型: class Item(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(80), unique=True, nullable=False) tags = db.Column(db.String(120), nullable=False) class Collection(db.
class Item(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), unique=True, nullable=False)
tags = db.Column(db.String(120), nullable=False)
class Collection(db.Model):
id = db.Column(db.Integer, primary_key=True)
user = db.Column(db.Integer, db.ForeignKey('users.id'))
name = db.Column(db.String(80), nullable=False)
items = db.relationship('Item', secondary=sets, lazy='subquery')
sets = db.Table( 'sets',
db.Column('item_id', db.Integer, db.ForeignKey('item.id'), primary_key=True),
db.Column('collection_id', db.Integer, db.ForeignKey('collection.id'), primary_key=True)
db.Column('rating', db.Integer, nullable=True),
db.Column('status', db.Integer, nullable=True)
)
我正在尝试选择项目:
WHERE collection_id = 100
ORDER BY rating DESC
LIMIT 30
在对这些项目进行一些操作之后,我还需要更新它们的状态。如何以适当的方式做到这一点
对于select,我想是这样的
db.session.query(Collection.items).filter_by(collection=100).order_by(rating.desc())
谢谢大家! 对于sqlalchemy中的标准多对多,关系只关心辅助表中的外键列,并且对用户是透明的。对于次表中包含的信息比标准模式中包含的信息多的情况,标准模式是使用。你见过那部分文档吗?(对超人说)我还没见过,谢谢