36824-vm/core/models.py
2025-12-10 14:57:30 +00:00

35 lines
1.1 KiB
Python

from django.db import models
from django.contrib.auth.models import User
class Assignment(models.Model):
title = models.CharField(max_length=255)
description = models.TextField()
due_date = models.DateTimeField()
def __str__(self):
return self.title
class Exercise(models.Model):
assignment = models.ForeignKey(Assignment, related_name='exercises', on_delete=models.CASCADE)
question = models.TextField()
answer = models.TextField()
def __str__(self):
return self.question
class Submission(models.Model):
exercise = models.ForeignKey(Exercise, on_delete=models.CASCADE)
student = models.ForeignKey(User, on_delete=models.CASCADE)
submitted_answer = models.TextField()
is_correct = models.BooleanField(default=False)
def __str__(self):
return f'{self.student.username} - {self.exercise.question}'
class Hint(models.Model):
exercise = models.ForeignKey(Exercise, related_name='hints', on_delete=models.CASCADE)
hint_text = models.TextField()
def __str__(self):
return self.hint_text