我正在使用烧瓶-sqlalchemy。
我想在多对多关系中添加一个 ORDER 列。
我的模型:
image_category_association = db.Table('category_image_relation',
db.Column('id', db.Integer, primary_key=True),
db.Column('category_id', db.Integer, db.ForeignKey('image_category.category_id')),
db.Column('image_id', db.Integer, db.ForeignKey('image.image_id')),
db.Column('order', db.Integer, unique=True, autoincrement=True)
)
class ImageCategory(db.Model):
__bind_key__ = 'ads'
__tablename__ = 'image_category'
category_id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(255), default='')
add_time = db.Column(db.Integer, default=0)
images = db.relationship('Image', secondary=image_category_relation, backref='categories', lazy='dynamic')
class Image(db.Model):
__bind_key__ = 'ads'
__tablename__ = 'image'
image_id = db.Column(db.Integer, primary_key=True)
add_time = db.Column(db.Integer, default=0)
hash = db.Column(db.String(64), default='')
url = db.Column(db.String(255), default='')
category = ImageCategory.query.get(1)
category.images.append(image1, image2, image3)
images = category.images.all() # order by the ORDER column
是否可以更新表image_category_association中的ORDER列值?
以及如何按ORDER列对category.images.all()顺序进行排序。