Improve search

This commit is contained in:
2026-03-02 02:26:25 +00:00
parent a9f5f3f75d
commit b94219fc5b
20 changed files with 1626 additions and 314 deletions

View File

@@ -128,6 +128,42 @@ class AI(models.Model):
return f"{self.id} - {self.model}"
class AIRunLog(models.Model):
STATUS_CHOICES = (
("running", "Running"),
("ok", "OK"),
("failed", "Failed"),
)
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="ai_run_logs")
ai = models.ForeignKey(
AI,
on_delete=models.SET_NULL,
null=True,
blank=True,
related_name="run_logs",
)
operation = models.CharField(max_length=64, blank=True, default="")
model = models.CharField(max_length=255, blank=True, default="")
base_url = models.CharField(max_length=255, blank=True, default="")
status = models.CharField(max_length=16, choices=STATUS_CHOICES, default="running")
message_count = models.PositiveIntegerField(default=0)
prompt_chars = models.PositiveIntegerField(default=0)
response_chars = models.PositiveIntegerField(default=0)
error = models.TextField(blank=True, default="")
started_at = models.DateTimeField(auto_now_add=True)
finished_at = models.DateTimeField(null=True, blank=True)
duration_ms = models.PositiveIntegerField(null=True, blank=True)
class Meta:
indexes = [
models.Index(fields=["user", "started_at"]),
models.Index(fields=["user", "status", "started_at"]),
models.Index(fields=["user", "operation", "started_at"]),
models.Index(fields=["user", "model", "started_at"]),
]
class Person(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
user = models.ForeignKey(User, on_delete=models.CASCADE)