# Generated by Django 5.0 on 2023-12-14 13:14 import django.db.models.deletion import pydis_site.apps.api.models.mixins from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ ('api', '0092_remove_redirect_filter_list'), ] operations = [ migrations.CreateModel( name='UserAltRelationship', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('context', models.TextField(help_text='The reason for why this account was associated as an alt.', max_length=1900)), ('actor', models.ForeignKey(help_text='The moderator that associated these accounts together.', on_delete=django.db.models.deletion.CASCADE, related_name='+', to='api.user')), ('source', models.ForeignKey(help_text='The source of this user to alternate account relationship', on_delete=django.db.models.deletion.CASCADE, to='api.user', verbose_name='Source')), ('target', models.ForeignKey(help_text='The target of this user to alternate account relationship', on_delete=django.db.models.deletion.CASCADE, related_name='+', to='api.user', verbose_name='Target')), ], bases=(pydis_site.apps.api.models.mixins.ModelReprMixin, models.Model), ), migrations.AddField( model_name='user', name='alts', field=models.ManyToManyField(help_text='Known alternate accounts of this user. Manually linked.', through='api.UserAltRelationship', to='api.user', verbose_name='Alternative accounts'), ), migrations.AddConstraint( model_name='useraltrelationship', constraint=models.UniqueConstraint(fields=('source', 'target'), name='api_useraltrelationship_unique_relationships'), ), migrations.AddConstraint( model_name='useraltrelationship', constraint=models.CheckConstraint(condition=models.Q(('source', models.F('target')), _negated=True), name='api_useraltrelationship_prevent_alt_to_self'), ), ]