Added a migration to correct Message fields containing strings that are repr() of list instances instead of comma-separated email addresses.
- Legacy-Id: 17349
This commit is contained in:
parent
fb740ff6bf
commit
0b3ac2ac0e
43
ietf/message/migrations/0009_fix_address_lists.py
Normal file
43
ietf/message/migrations/0009_fix_address_lists.py
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
# Copyright The IETF Trust 2020, All Rights Reserved
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.11.20 on 2019-05-21 14:27
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import absolute_import, print_function, unicode_literals
|
||||||
|
|
||||||
|
from tqdm import tqdm
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
import debug # pyflakes:ignore
|
||||||
|
|
||||||
|
|
||||||
|
def forward(apps, schema_editor):
|
||||||
|
|
||||||
|
Message = apps.get_model('message', 'Message')
|
||||||
|
|
||||||
|
for m in tqdm(Message.objects.all()):
|
||||||
|
dirty = False
|
||||||
|
for fieldname in ['to', 'cc', 'bcc', ]:
|
||||||
|
f = getattr(m, fieldname)
|
||||||
|
if f.startswith("['") or f.startswith('[]') or f.startswith("[u'"):
|
||||||
|
l = eval(f)
|
||||||
|
if isinstance(l, list):
|
||||||
|
f = ','.join(l)
|
||||||
|
setattr(m, fieldname, f)
|
||||||
|
dirty = True
|
||||||
|
if dirty:
|
||||||
|
m.save()
|
||||||
|
|
||||||
|
def reverse(apps, schema_editor):
|
||||||
|
pass
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('message', '0008_set_message_sent'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RunPython(forward, reverse),
|
||||||
|
]
|
Loading…
Reference in a new issue