54 lines
1.7 KiB
Python
54 lines
1.7 KiB
Python
|
# Generated by Django 2.2.9 on 2020-01-05 16:28
|
||
|
|
||
|
from django.conf import settings
|
||
|
from django.db import migrations, models
|
||
|
import django.db.models.deletion
|
||
|
|
||
|
|
||
|
def move_profile_to_user(apps, schema_editor):
|
||
|
Proposition = apps.get_model("propositions", "Proposition")
|
||
|
for proposition in Proposition.objects.all():
|
||
|
proposition.user = proposition.profile.user
|
||
|
proposition.save()
|
||
|
|
||
|
|
||
|
def move_user_to_profile(apps, schema_editor):
|
||
|
# One should do something similar to ``move_profile_to_user`` AND make the
|
||
|
# ``profile`` field temporarily nullable in the operations below.
|
||
|
# => Grosse flemme
|
||
|
raise NotImplementedError("Who uses migrations backwards anyway?")
|
||
|
|
||
|
|
||
|
class Migration(migrations.Migration):
|
||
|
|
||
|
dependencies = [
|
||
|
("propositions", "0005_remove_nb_yes_no_fields"),
|
||
|
]
|
||
|
|
||
|
operations = [
|
||
|
migrations.RenameField(
|
||
|
model_name="proposition", old_name="user", new_name="profile"
|
||
|
),
|
||
|
migrations.AddField(
|
||
|
model_name="proposition",
|
||
|
name="user",
|
||
|
field=models.ForeignKey(
|
||
|
on_delete=django.db.models.deletion.CASCADE,
|
||
|
to=settings.AUTH_USER_MODEL,
|
||
|
verbose_name="Proposé par",
|
||
|
null=True,
|
||
|
),
|
||
|
),
|
||
|
migrations.RunPython(move_profile_to_user, move_user_to_profile),
|
||
|
migrations.RemoveField(model_name="proposition", name="profile"),
|
||
|
migrations.AlterField(
|
||
|
model_name="proposition",
|
||
|
name="user",
|
||
|
field=models.ForeignKey(
|
||
|
on_delete=django.db.models.deletion.CASCADE,
|
||
|
to=settings.AUTH_USER_MODEL,
|
||
|
verbose_name="Proposé par",
|
||
|
),
|
||
|
),
|
||
|
]
|