# Generated by Django 2.2.6 on 2020-01-27 11:21 from django.db import migrations, models import random import string def eb_number(): rand_str = "".join([random.choice(list(string.digits)) for i in range(3)]) return "1{}".format(rand_str) def set_inventory_number_eb(apps, schema_editor): Item = apps.get_model('catalog', 'Item') for item in Item.objects.all(): if item.inventory_number_eb is None: inventory_nb = eb_number() while Item.objects.filter(inventory_number_eb=inventory_nb).count() > 0: inventory_nb = eb_number() item.inventory_number_eb = inventory_nb item.save() else: if len(item.inventory_number_eb) == 0: inventory_nb = eb_number() while Item.objects.filter(inventory_number_eb=inventory_nb).count() > 0: inventory_nb = eb_number() item.inventory_number_eb = inventory_nb item.save() class Migration(migrations.Migration): dependencies = [ ('catalog', '0042_comment_labelled'), ] operations = [ migrations.RunPython(set_inventory_number_eb, reverse_code=migrations.RunPython.noop), migrations.AlterField( model_name='item', name='inventory_number_eb', field=models.CharField(db_index=True, max_length=4, unique=True, verbose_name='Inventory number (eb)'), ), ]