Fixed BUG-11: we have changed to file_refimg_link table (from file_person_link), this means we now have some optimisations, and can definitely re-run AI jobs without crashing. Several optims could still be done - see TODO
This commit is contained in:
21
person.py
21
person.py
@@ -5,31 +5,30 @@ from main import db, app, ma
|
||||
from sqlalchemy import Sequence
|
||||
from sqlalchemy.exc import SQLAlchemyError
|
||||
from status import st, Status
|
||||
|
||||
from refimg import Refimg
|
||||
from refimg import Person_Refimg_Link
|
||||
|
||||
################################################################################
|
||||
# Class describing Person in the database, and via sqlalchemy, connected to the DB as well
|
||||
################################################################################
|
||||
class PersonRefimgLink(db.Model):
|
||||
__tablename__ = "person_refimg_link"
|
||||
person_id = db.Column(db.Integer, db.ForeignKey('person.id'), unique=True, nullable=False, primary_key=True)
|
||||
refimg_id = db.Column(db.Integer, db.ForeignKey('refimg.id'), unique=True, nullable=False, primary_key=True)
|
||||
|
||||
def __repr__(self):
|
||||
return "<person_id: {}, refimg_id>".format(self.person_id, self.refimg_id)
|
||||
|
||||
|
||||
class Person(db.Model):
|
||||
id = db.Column(db.Integer, db.Sequence('person_id_seq'), primary_key=True )
|
||||
tag = db.Column(db.String(48), unique=False, nullable=False)
|
||||
surname = db.Column(db.String(48), unique=False, nullable=False)
|
||||
firstname = db.Column(db.String(48), unique=False, nullable=False)
|
||||
refimg = db.relationship('Refimg', secondary=Person_Refimg_Link.__table__)
|
||||
refimg = db.relationship('Refimg', secondary=PersonRefimgLink.__table__)
|
||||
|
||||
def __repr__(self):
|
||||
return "<tag: {}, firstname: {}, surname: {}, refimg: {}>".format(self.tag,self.firstname, self.surname, self.refimg)
|
||||
|
||||
class File_Person_Link(db.Model):
|
||||
__tablename__ = "file_person_link"
|
||||
file_id = db.Column(db.Integer, db.ForeignKey('file.eid'), unique=True, nullable=False, primary_key=True)
|
||||
person_id = db.Column(db.Integer, db.ForeignKey('person.id'), unique=True, nullable=False, primary_key=True)
|
||||
|
||||
def __repr__(self):
|
||||
return "<file_id: {}, person_id: {}>".format(self.file_id, self.person_id)
|
||||
|
||||
################################################################################
|
||||
# Helper class that inherits a .dump() method to turn class Person into json / useful in jinja2
|
||||
################################################################################
|
||||
|
||||
Reference in New Issue
Block a user