38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
|
# Generated by Django 3.2.12 on 2022-02-24 20:41
|
||
|
|
||
|
from django.db import migrations, models
|
||
|
import django.db.models.deletion
|
||
|
|
||
|
|
||
|
def set_report_statuses(apps, schema_editor):
|
||
|
"""copy over status fields"""
|
||
|
db_alias = schema_editor.connection.alias
|
||
|
report_model = apps.get_model("bookwyrm", "Report")
|
||
|
reports = report_model.objects.using(db_alias).filter(statuses__isnull=False)
|
||
|
for report in reports:
|
||
|
report.status = report.statuses.first()
|
||
|
report.save()
|
||
|
|
||
|
def set_reverse(apps, schema_editor):
|
||
|
"""copy over status fields"""
|
||
|
db_alias = schema_editor.connection.alias
|
||
|
report_model = apps.get_model("bookwyrm", "Report")
|
||
|
reports = report_model.objects.using(db_alias).filter(status__isnull=False)
|
||
|
for report in reports:
|
||
|
report.statuses.set(report.status)
|
||
|
|
||
|
class Migration(migrations.Migration):
|
||
|
|
||
|
dependencies = [
|
||
|
('bookwyrm', '0138_automod'),
|
||
|
]
|
||
|
|
||
|
operations = [
|
||
|
migrations.AddField(
|
||
|
model_name='report',
|
||
|
name='status',
|
||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='reports', to='bookwyrm.status'),
|
||
|
),
|
||
|
migrations.RunPython(set_report_statuses, reverse_code=set_reverse),
|
||
|
]
|