diora-web/feeds/migrations/0005_blog_folders_progress.py

47 lines
1.3 KiB
Python
Raw Normal View History

# Generated by Django 6.1 on 2026-10-04 19:50
from django.db import migrations, models
def category_to_folders(apps, schema_editor):
"""A blog's folder was its category: now its first (only) folder."""
Source = apps.get_model('feeds', 'Source')
for s in Source.objects.filter(kind='blog').exclude(category=''):
s.folders = [s.category[:40]]
s.category = ''
s.save(update_fields=['folders', 'category'])
def folders_to_category(apps, schema_editor):
Source = apps.get_model('feeds', 'Source')
for s in Source.objects.filter(kind='blog'):
if s.folders:
s.category = s.folders[0]
s.save(update_fields=['category'])
class Migration(migrations.Migration):
dependencies = [
('feeds', '0004_item_notify'),
]
operations = [
migrations.AddField(
model_name='item',
name='progress',
field=models.FloatField(default=0),
),
migrations.AddField(
model_name='item',
name='progress_at',
field=models.DateTimeField(blank=True, null=True),
),
migrations.AddField(
model_name='source',
name='folders',
field=models.JSONField(blank=True, default=list),
),
migrations.RunPython(category_to_folders, folders_to_category),
]