class Student(Base):
__tablename__ = 'student'
id = Column(Integer, primary_key=True)
name = Column(String(50))
student_id = Column(String(20), unique=True)
class ViolationRecord(Base):
__tablename__ = 'violation_record'
id = Column(Integer, primary_key=True)
student_id = Column(Integer, ForeignKey('student.id'))
description = Column(Text)
class DisciplinaryAction(Base):
__tablename__ = 'disciplinary_action'
id = Column(Integer, primary_key=True)
violation_id = Column(Integer, ForeignKey('violation_record.id'))
action_type = Column(String(50))
]]>
def add_violation(student_name, desc):
student = session.query(Student).filter_by(name=student_name).first()
if not student:
print("Student not found.")
return
new_violation = ViolationRecord(student_id=student.id, description=desc)
session.add(new_violation)
session.commit()
print(f"Violation added for {student_name}: {desc}")
]]>