47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
|
|
# 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),
|
||
|
|
]
|