35 lines
1.5 KiB
Python
35 lines
1.5 KiB
Python
from main import db, app, ma
|
|
from sqlalchemy import Sequence
|
|
from sqlalchemy.exc import SQLAlchemyError
|
|
|
|
class Face(db.Model):
|
|
__tablename__ = "face"
|
|
id = db.Column(db.Integer, db.Sequence('face_id_seq'), primary_key=True )
|
|
face = db.Column( db.LargeBinary )
|
|
locn = db.Column( db.String )
|
|
refimg_lnk = db.relationship("FaceRefimgLink", uselist=False, viewonly=True)
|
|
facefile_lnk = db.relationship("FaceFileLink", uselist=False, viewonly=True)
|
|
refimg =db.relationship("Refimg", secondary="face_refimg_link", uselist=False)
|
|
|
|
def __repr__(self):
|
|
return f"<id: {self.id}, face={self.face}, locn={self.locn}"
|
|
|
|
class FaceFileLink(db.Model):
|
|
__tablename__ = "face_file_link"
|
|
face_id = db.Column(db.Integer, db.ForeignKey("face.id"), primary_key=True )
|
|
file_eid = db.Column(db.Integer, db.ForeignKey("file.eid"), primary_key=True )
|
|
model_used = db.Column(db.Integer, db.ForeignKey("ai_model.id"), primary_key=True )
|
|
|
|
def __repr__(self):
|
|
return f"<face_id: {self.face_id}, file_eid={self.file_eid}, model_used: {self.model_used}"
|
|
|
|
class FaceRefimgLink(db.Model):
|
|
__tablename__ = "face_refimg_link"
|
|
face_id = db.Column(db.Integer, db.ForeignKey("face.id"), primary_key=True )
|
|
refimg_id = db.Column(db.Integer, db.ForeignKey("refimg.id"), primary_key=True )
|
|
face_distance = db.Column(db.Integer)
|
|
|
|
def __repr__(self):
|
|
return f"<face_id: {self.face_id}, refimg_id={self.refimg_id}, face_distance: {self.face_distance}"
|
|
|