from django.db import models from django.utils import timezone from fwd_api.models.Subscription import Subscription from fwd_api.models.SubscriptionRequest import SubscriptionRequest from fwd_api.models.Report import Report class ReportFile(models.Model): # Metadata id = models.AutoField(primary_key=True) correspond_request_id = models.CharField(max_length=200, default="") correspond_request_created_at = models.DateTimeField(default=timezone.now, db_index=True) correspond_redemption_id = models.CharField(max_length=200, default="") subsidiary = models.CharField(default="", null=True, max_length=200) created_at = models.DateTimeField(default=timezone.now, db_index=True) updated_at = models.DateTimeField(auto_now=True) report = models.ForeignKey(Report, related_name="files", on_delete=models.CASCADE) # Data S3_uploaded = models.BooleanField(default=False) doc_type = models.CharField(max_length=200) is_bad_image = models.BooleanField(default=False) predict_result = models.JSONField(null=True) feedback_result = models.JSONField(null=True) reviewed_result = models.JSONField(null=True) feedback_accuracy = models.JSONField(null=True) reviewed_accuracy = models.JSONField(null=True) acc = models.FloatField(default=0, null=True) time_cost = models.FloatField(default=None, null=True) is_reviewed = models.CharField(default="NA", max_length=5) # NA, No, Yes bad_image_reason = models.TextField(default="") counter_measures = models.TextField(default="") error = models.TextField(default="") review_status = models.IntegerField(default=-1) # -1: No need review, 0: not reviewed, 1: reviewed