from django.db import models from django_core.models import AbstractBaseModel from core.apps.tasks.choices.task import PriorityChoice class Task(AbstractBaseModel): column = models.ForeignKey('tasks.Column', on_delete=models.CASCADE, related_name='tasks') name = models.CharField(max_length=255) description = models.TextField(blank=True) priority = models.CharField(max_length=255, choices=PriorityChoice.choices) from_date = models.DateField(null=True, blank=True) to_date = models.DateField(null=True, blank=True) labels = models.ManyToManyField('tasks.Label', related_name='tasks') assignees = models.ManyToManyField('accounts.User', related_name='assigned_tasks') created_by = models.ForeignKey('accounts.User', on_delete=models.CASCADE, related_name='created_tasks') def __str__(self): return f"{self.name} created by {self.created_by}"