35859-vm/core/models.py
2025-11-20 19:43:30 +00:00

54 lines
1.7 KiB
Python

from django.db import models
class Article(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
class TodoItem(models.Model):
STATUS_CHOICES = [
('todo', 'To Do'),
('inprogress', 'In Progress'),
('blocked', 'Blocked'),
('done', 'Done'),
]
title = models.CharField(max_length=200)
description = models.TextField(blank=True, null=True)
tags = models.CharField(max_length=255, blank=True, null=True)
status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='todo')
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
def __str__(self):
return self.title
class Conversation(models.Model):
title = models.CharField(max_length=200)
is_generating = models.BooleanField(default=False)
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
class Message(models.Model):
conversation = models.ForeignKey(Conversation, on_delete=models.CASCADE, related_name='messages')
content = models.TextField()
sender = models.CharField(max_length=20, choices=[('user', 'User'), ('ai', 'AI'), ('system', 'System'), ('ai_command', 'AI Command')], default='user')
created_at = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ['created_at']
def __str__(self):
return f"Message from {self.get_sender_display()} at {self.created_at}"
class Setting(models.Model):
key = models.CharField(max_length=255, unique=True)
value = models.TextField()
def __str__(self):
return self.key