Есть две взаимосвязанных модели
models.py
class ImageGroup(db.Model):
__tablename__ = 'imagegroup'
id = db.Column(db.Integer, primary_key=True)
timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)
class Images(db.Model):
id = db.Column(db.Integer, primary_key=True)
img_filename = db.Column(db.String())
counter = db.Column(db.Integer(), default=0)
img_data = db.Column(db.String(264), unique=False)
creation_date = db.Column(db.DateTime, default=datetime.now())
imagegroup_id = db.Column(db.Integer, db.ForeignKey('imagegroup.id'), nullable=False)
imagegroup = db.relationship('Images', backref='images', lazy=True)
Мне надо сделать что бы при выполнении функции
upload_images формировался один экземпляр ImageGroup и присваивался всем экземплярам Images из цикла for.
upload_images.pyresult_img = job.result
imagegroup = ImageGroup()
db.session.add(imagegroup)
db.session.commit()
for i in result_img:
info = job.result[i]
filename = (info['name'])
count = info["count"]
img_data = info['path']
new_file = Images(img_filename=filename, counter=count, img_data=img_data, imagegroup_id=imagegroup)
db.session.add(new_file)
db.session.commit()
session['result'] = result_img
Вместо
imagegroup_id=imagegroup пробовал
imagegroup=imagegroup но в результате ошибка
"specify a 'primaryjoin' expression." % self.prop
sqlalchemy.exc.NoForeignKeysError: Could not determine join condition between parent/child tables on relationship Images.imagegroup - there are no foreign keys linking these tables. Ensure that referencing columns are associated with a ForeignKey or ForeignKeyConstraint, or specify a 'primaryjoin' expression.
Подскажите как делаются такие взаимосвязи?