I am using flask-sqlalchemy.
I want to add an ORDER column in Many-to-Many Relationship.
my models:
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
Is it possible to update the ORDER column value in table image_category_association?
And how do i sort the category.images.all() order by the ORDER column.