Skip to content
Snippets Groups Projects
models.py 1.29 KiB
Newer Older
  • Learn to ignore specific revisions
  • Bodor Máté's avatar
    Bodor Máté committed
    from django.db import models
    
    from common.middleware import CurrentUserMiddleware
    
    from account.models import Profile
    
    Bodor Máté's avatar
    Bodor Máté committed
    class Task(models.Model):
    
        created_by = models.ForeignKey(
            Profile,
            on_delete=models.DO_NOTHING,
            related_name='tasks',
            default=CurrentUserMiddleware.get_current_user_profile,
        )
    
        created_at = models.DateTimeField(auto_now_add=True, editable=False)
        updated_at = models.DateTimeField(auto_now=True, editable=False)
    
        title = models.CharField(max_length=150)
    
    Bodor Máté's avatar
    Bodor Máté committed
        text = models.TextField()
    
        deadline = models.DateTimeField()
    
    
        def __str__(self):
            return self.title
    
    Bodor Máté's avatar
    Bodor Máté committed
    
    
    class Solution(models.Model):
    
        task = models.ForeignKey(Task, related_name='solutions', on_delete=models.CASCADE)
        created_by = models.ForeignKey(
            Profile,
            related_name='solution',
            on_delete=models.DO_NOTHING,
            default=CurrentUserMiddleware.get_current_user_profile,
        )
    
        created_at = models.DateTimeField(auto_now_add=True, editable=False,)
        updated_at = models.DateTimeField(auto_now=True, editable=False,)
        note = models.TextField(blank=True, default='',)
    
    Bodor Mate's avatar
    Bodor Mate committed
        accepted = models.BooleanField()
    
        corrected = models.BooleanField()
    
    
        def __str__(self):
            return "[{}] {}".format(self.created_at, self.created_by.full_name)