from django.db import models from students.models import Student from classes.models import SchoolClass class Attendance(models.Model): STATUS_CHOICES = [ ('present', 'Present'), ('absent', 'Absent'), ('late', 'Late'), ('excused', 'Excused'), ] student = models.ForeignKey(Student, on_delete=models.CASCADE, related_name='attendances') school_class = models.ForeignKey(SchoolClass, on_delete=models.CASCADE, related_name='attendances') date = models.DateField() status = models.CharField(max_length=10, choices=STATUS_CHOICES, default='present') note = models.TextField(blank=True) created_at = models.DateTimeField(auto_now_add=True) def __str__(self): return f"{self.student} - {self.date} - {self.status}" class Meta: unique_together = ['student', 'date'] ordering = ['-date']