from django.db import models


class EsSessionSeat(models.Model):
    seat_number = models.IntegerField()
    session = models.ForeignKey("api.EsSession", on_delete=models.CASCADE)
    student = models.ForeignKey("api.EsStudent", on_delete=models.CASCADE)
    created_by = models.BigIntegerField(null=True)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_by = models.BigIntegerField(null=True)
    updated_at = models.DateTimeField(auto_now=True)

    class Meta:
        db_table = "es_session_seat"
        constraints = [
            models.UniqueConstraint(
                fields=["session", "student"],
                name="unique_session_student_seat",
            ),
            models.UniqueConstraint(
                fields=["session", "seat_number"],
                name="unique_session_seat_number",
            )
        ]

    def __str__(self):
        return f"{self.session_id}-{self.student_id}-{self.seat_number}"
