Update Content model to enforce status choices and add migration for status field changes
- Introduced STATUS_CHOICES in the Content model to restrict the status field to 'draft', 'review', and 'published'. - Created a new migration to reflect the updated status choices without altering existing data. - Removed 'completed' status from the frontend status color mapping for consistency.
This commit is contained in:
@@ -0,0 +1,18 @@
|
|||||||
|
# Generated manually to update status field choices
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('writer', '0005_move_content_fields_to_content'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
# No database changes needed - just updating Python-level choices
|
||||||
|
# Tasks status: queued, completed
|
||||||
|
# Content status: draft, review, published
|
||||||
|
# Existing data will remain valid
|
||||||
|
]
|
||||||
|
|
||||||
@@ -106,7 +106,12 @@ class Content(SiteSectorBaseModel):
|
|||||||
secondary_keywords = models.JSONField(default=list, blank=True, help_text="List of secondary keywords")
|
secondary_keywords = models.JSONField(default=list, blank=True, help_text="List of secondary keywords")
|
||||||
tags = models.JSONField(default=list, blank=True, help_text="List of tags")
|
tags = models.JSONField(default=list, blank=True, help_text="List of tags")
|
||||||
categories = models.JSONField(default=list, blank=True, help_text="List of categories")
|
categories = models.JSONField(default=list, blank=True, help_text="List of categories")
|
||||||
status = models.CharField(max_length=50, default='draft', help_text="Content workflow status (draft, review, published, etc.)")
|
STATUS_CHOICES = [
|
||||||
|
('draft', 'Draft'),
|
||||||
|
('review', 'Review'),
|
||||||
|
('published', 'Published'),
|
||||||
|
]
|
||||||
|
status = models.CharField(max_length=50, choices=STATUS_CHOICES, default='draft', help_text="Content workflow status (draft, review, published)")
|
||||||
generated_at = models.DateTimeField(auto_now_add=True)
|
generated_at = models.DateTimeField(auto_now_add=True)
|
||||||
updated_at = models.DateTimeField(auto_now=True)
|
updated_at = models.DateTimeField(auto_now=True)
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ const statusColors: Record<string, 'warning' | 'info' | 'success' | 'primary'> =
|
|||||||
draft: 'warning',
|
draft: 'warning',
|
||||||
review: 'info',
|
review: 'info',
|
||||||
published: 'success',
|
published: 'success',
|
||||||
completed: 'success',
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function Content() {
|
export default function Content() {
|
||||||
|
|||||||
Reference in New Issue
Block a user