from django.db import models class ExamVariant(models.Model): exam = models.ForeignKey("labs.Exam", related_name="variants", on_delete=models.CASCADE) language_code = models.CharField(max_length=4) title = models.CharField(max_length=255) description = models.TextField(null=True, blank=True) certificate_purpose = models.TextField(null=True, blank=True) preparation_guide = models.TextField(null=True, blank=True) level = models.CharField(max_length=32, null=True, blank=True) splash_image = models.URLField(null=True, blank=True) question_count = models.IntegerField(default=0) duration_seconds = models.IntegerField(default=3600) pass_score = models.IntegerField(default=0) total_score = models.IntegerField(default=0) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) class Meta: db_table = "exam_variants" TO_FRONTEND_FIELDS = [ "id", "language_code", "title", "description", "certificate_purpose", "preparation_guide", "level", "splash_image", "question_count", "duration_seconds", "pass_score", "total_score", ] def to_frontend_detail(self) -> dict: data = {} for field in self.TO_FRONTEND_FIELDS: data[field] = getattr(self, field) return data