# Generated by Django 3.2.18 on 2023-02-19 22:13 from django.contrib.contenttypes.models import ContentType from django.db import migrations, models from django.db.models import F def merge_admins(apps, schema_editor): AdminRegistration = apps.get_model('registration', 'AdminRegistration') VolunteerRegistration = apps.get_model('registration', 'VolunteerRegistration') db_alias = schema_editor.connection.alias AdminRegistration.objects.using(db_alias).update(admin=True) for admin in AdminRegistration.objects.all(): admin.professional_activity = admin.role admin.polymorphic_ctype_id = ContentType.objects.get_for_model(VolunteerRegistration).id admin.save() def separate_admins(apps, schema_editor): AdminRegistration = apps.get_model('registration', 'AdminRegistration') VolunteerRegistration = apps.get_model('registration', 'VolunteerRegistration') for admin in VolunteerRegistration.objects.filter(admin=True).all(): admin.delete() AdminRegistration.objects.create(user=admin.user, professional_activity=admin.professional_activity, role=admin.professional_activity) class Migration(migrations.Migration): dependencies = [ ('participation', '0003_alter_team_trigram'), ('registration', '0003_alter_participantregistration_zip_code'), ] operations = [ migrations.AddField( model_name='volunteerregistration', name='admin', field=models.BooleanField( default=False, help_text="An administrator has all rights. Please don't give this right to all juries and volunteers.", verbose_name='administrator'), ), migrations.RunPython( merge_admins, separate_admins, elidable=True, ), migrations.DeleteModel( name='AdminRegistration', ), ]