Add revert function to migration
This commit is contained in:
parent
608e67fe6a
commit
5f3f044084
|
@ -6,14 +6,24 @@ from django.db import migrations, models
|
||||||
|
|
||||||
def adapt_operation_types(apps, schema_editor):
|
def adapt_operation_types(apps, schema_editor):
|
||||||
Operation = apps.get_model("kfet", "Operation")
|
Operation = apps.get_model("kfet", "Operation")
|
||||||
|
edits = Operation.objects.filter(
|
||||||
|
is_checkout=False,
|
||||||
|
type__in=['withdraw', 'deposit'])
|
||||||
|
|
||||||
for ope in Operation.objects.all():
|
for ope in edits:
|
||||||
if (not ope.is_checkout and
|
|
||||||
ope.type in ['deposit', 'withdraw']):
|
|
||||||
ope.type = 'edit'
|
ope.type = 'edit'
|
||||||
ope.save()
|
ope.save()
|
||||||
|
|
||||||
|
|
||||||
|
def revert_operation_types(apps, schema_editor):
|
||||||
|
Operation = apps.get_model("kfet", "Operation")
|
||||||
|
|
||||||
|
for ope in Operation.objects.filter(type='edit'):
|
||||||
|
ope.type = 'deposit' if ope.amount > 0 else 'withdraw'
|
||||||
|
ope.is_checkout = False
|
||||||
|
ope.save()
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
@ -26,7 +36,7 @@ class Migration(migrations.Migration):
|
||||||
name='type',
|
name='type',
|
||||||
field=models.CharField(choices=[('purchase', 'Achat'), ('deposit', 'Charge'), ('withdraw', 'Retrait'), ('initial', 'Initial'), ('edit', 'Édition')], max_length=8),
|
field=models.CharField(choices=[('purchase', 'Achat'), ('deposit', 'Charge'), ('withdraw', 'Retrait'), ('initial', 'Initial'), ('edit', 'Édition')], max_length=8),
|
||||||
),
|
),
|
||||||
migrations.RunPython(adapt_operation_types),
|
migrations.RunPython(adapt_operation_types, revert_operation_types),
|
||||||
migrations.RemoveField(
|
migrations.RemoveField(
|
||||||
model_name='operation',
|
model_name='operation',
|
||||||
name='is_checkout',
|
name='is_checkout',
|
||||||
|
|
Loading…
Reference in a new issue