# Generated by Django 3.2.4 on 2025-10-06 11:01 from django.db import migrations, models from django.utils.text import slugify def generate_professor_slugs(apps, schema_editor): User = apps.get_model('account', 'User') qs = User.objects.filter(user_type='professor').filter(models.Q(slug__isnull=True) | models.Q(slug='')) for user in qs.iterator(): base = slugify(user.fullname, allow_unicode=True) if user.fullname else '' base = base[:250] or f"professor-{user.pk}" slug = base counter = 1 while User.objects.filter(slug=slug).exclude(pk=user.pk).exists(): slug = f"{base}-{counter}"[:255] counter += 1 user.slug = slug user.save(update_fields=['slug']) def remove_professor_slugs(apps, schema_editor): User = apps.get_model('account', 'User') User.objects.filter(user_type='professor').update(slug=None) class Migration(migrations.Migration): dependencies = [ ('account', '0005_alter_user_unique_together'), ] operations = [ migrations.AddField( model_name='user', name='experience_years', field=models.PositiveIntegerField(default=0, verbose_name='Experience years'), ), migrations.AddField( model_name='user', name='slug', field=models.SlugField(blank=True, max_length=255, null=True, unique=True), ), migrations.RunPython(generate_professor_slugs, remove_professor_slugs), ]