iro/model/schema.py
branchdevel
changeset 125 19b3f383c9ce
parent 122 b55754aa4f96
child 127 79966b937274
equal deleted inserted replaced
124:6efcdf7e2d62 125:19b3f383c9ce
     6 #relationship
     6 #relationship
     7 from sqlalchemy import ForeignKey
     7 from sqlalchemy import ForeignKey
     8 from sqlalchemy.orm import relationship, backref, object_session
     8 from sqlalchemy.orm import relationship, backref, object_session
     9 
     9 
    10 from sqlalchemy import and_ 
    10 from sqlalchemy import and_ 
       
    11 
       
    12 from ..error import JobNotFound
    11 
    13 
    12 Base = declarative_base()
    14 Base = declarative_base()
    13 
    15 
    14 __tables__=["User", "Job", "Message", "Offer", "Userright"]
    16 __tables__=["User", "Job", "Message", "Offer", "Userright"]
    15 
    17 
    76                 Offer.typ == typ, 
    78                 Offer.typ == typ, 
    77                 ]
    79                 ]
    78         if isDefault is not None:
    80         if isDefault is not None:
    79             filters.append(Userright.isDefault==isDefault)
    81             filters.append(Userright.isDefault==isDefault)
    80         return object_session(self).query(Userright.offer_name).join(Offer,User).filter(and_(*filters))
    82         return object_session(self).query(Userright.offer_name).join(Offer,User).filter(and_(*filters))
       
    83     
       
    84     def job(self, id):
       
    85         job = object_session(self).query(Job).join(User).filter(and_(User.name == self.name, Job.hash==id)).first()
       
    86         if job is None:
       
    87             raise JobNotFound()
       
    88         return job