8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-12-23 15:33:45 +00:00

Fix doublons proprement en migration

This commit is contained in:
Gabriel Detraz 2020-04-18 19:57:14 +02:00
parent d1de4e365c
commit c8ede78c66

View file

@ -0,0 +1,31 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations
from django.core.exceptions import ValidationError
def fix_duplicate(apps, schema_editor):
db_alias = schema_editor.connection.alias
domain = apps.get_model("machines", "Domain")
machines_to_fix = list(filter(lambda m : not m.name.islower(), domain.objects.using(db_alias).all()))
for machine in machines_to_fix:
try:
machine.name = machine.name.lower()
machine.validate_unique()
machine.clean()
except ValidationError:
machine.name = machine.name.lower() + str(machine.interface_parent.id)
machine.clean()
machine.save()
def unfix_duplicate(apps, schema_editor):
return
class Migration(migrations.Migration):
dependencies = [("machines", "0106_auto_20191120_0159")]
operations = [
migrations.RunPython(fix_duplicate, unfix_duplicate),
]