Source code for models.lecturers
from models.base_model import BaseModel, db_factory_func
"""
This model creates lecturers model
"""
[docs]class LecturersModel(BaseModel):
"""
Lecturer table CRUD operations.
"""
def __init__(self, init_table=False):
super().__init__("lecturers", {
"id": "SERIAL PRIMARY KEY",
"title": "VARCHAR(40) NOT NULL",
"fname": "VARCHAR(80) NOT NULL",
"sname": "VARCHAR(80) NOT NULL",
"department_id": '''INT NOT NULL REFERENCES faculty(id)''',
"email": "VARCHAR(100)"
}, init_table=init_table)
[docs] def addLecturer(self, data):
"""
Adds new lecturer
"""
return self.create(data=data)
[docs] def listAllLecturers(self):
"""
Returns all lecturers
"""
return self.find(return_cols=["fname", "sname", "id"],
sort_by="")
[docs] def listAllLecturersBySName(self):
return self.find(return_cols=["sname"], sort_by="sname")
[docs] @db_factory_func
def listLecturersOfDepartment(self, conn, data):
"""
Returns lecturers of specific department
"""
return conn.execute('''SELECT * from lecturers where department_id= %s''' % data)
[docs] def showALecturer(self, data):
"""
Returns information of specific lecturer
"""
return self.find(query="id = %s" % data['id'])
[docs] def updateLecturer(self, data):
return self.update_by_id(data=data, _id=data['id'])
[docs] @db_factory_func
def removeLecturer(self, conn, data):
"""
Removes lecturer
"""
conn.execute("DELETE FROM LECTURERS WHERE id=%s" % data["id"])