from django.db import models from django_core.models import AbstractBaseModel from core.apps.tasks.choices.comment import MessageChoice class Comment(AbstractBaseModel): task = models.ForeignKey('tasks.Task', on_delete=models.CASCADE, related_name='comments') message = models.TextField() type = models.CharField(max_length=255, choices=MessageChoice.choices) created_by = models.ForeignKey('accounts.User', on_delete=models.CASCADE, related_name='comments') def __str__(self): return f"{self.message} created by {self.created_by}" class CommentFile(AbstractBaseModel): comment = models.ForeignKey( 'tasks.Comment', on_delete=models.CASCADE, related_name='files' ) file = models.FileField(upload_to='comments/') def __str__(self): return f"File for comment {self.comment_id}"