from flask_sqlalchemy import BaseQuery from sqlalchemy.orm import aliased from core_notifications import models class TemplateQuery(BaseQuery): CREATED_ALIAS = aliased(models.DNAAccount, name="created") UPDATED_ALIAS = aliased(models.DNAAccount, name="updated") def with_relations(self): return self.join( self.CREATED_ALIAS, models.Template.created_by_id == self.CREATED_ALIAS.id, isouter=True, ).join( self.UPDATED_ALIAS, models.Template.updated_by_id == self.UPDATED_ALIAS.id, isouter=True, ) class TemplateVersionQuery(BaseQuery): CREATED_ALIAS = aliased(models.DNAAccount, name="created") def with_relations(self): return self.join( self.CREATED_ALIAS, models.TemplateVersion.created_by_id == self.CREATED_ALIAS.id, isouter=True, )