models.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. from django.db import models
  2. class BackgroundTask(models.Model):
  3. class Meta:
  4. db_table = 'bg_remover_background_tasks'
  5. STATUS_CHOICES = [
  6. ('PENDING', 'Pending'),
  7. ('PROCESSING', 'Processing'),
  8. ('COMPLETED', 'Completed'),
  9. ('FAILED', 'Failed'),
  10. ]
  11. TASK_TYPE_CHOICES = [
  12. ('BG_REMOVE', 'Background Removal'),
  13. ('CAPTION', 'Image Captioning'),
  14. # future:
  15. # ('UPSCALE', 'Image Upscaling'),
  16. # ('VQA', 'Visual Q&A'),
  17. ]
  18. task_id = models.UUIDField(unique=True, editable=False)
  19. task_type = models.CharField(
  20. max_length=20,
  21. choices=TASK_TYPE_CHOICES,
  22. default='BG_REMOVE'
  23. )
  24. status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='PENDING')
  25. zip_file = models.FileField(upload_to='bulk_results/', null=True, blank=True)
  26. created_at = models.DateTimeField(auto_now_add=True)
  27. error_message = models.TextField(null=True, blank=True)
  28. def __str__(self):
  29. return f"Task {self.task_type} - {self.task_id} - {self.status}"