mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
148 lines
5.3 KiB
Python
148 lines
5.3 KiB
Python
from django.db import migrations
|
|
import utilities.fields
|
|
import utilities.ordering
|
|
|
|
|
|
def _update_model_names(model):
|
|
# Update each unique field value in bulk
|
|
for name in model.objects.values_list('name', flat=True).order_by('name').distinct():
|
|
model.objects.filter(name=name).update(_name=utilities.ordering.naturalize(name, max_length=100))
|
|
|
|
|
|
def naturalize_consoleports(apps, schema_editor):
|
|
_update_model_names(apps.get_model('dcim', 'ConsolePort'))
|
|
|
|
|
|
def naturalize_consoleserverports(apps, schema_editor):
|
|
_update_model_names(apps.get_model('dcim', 'ConsoleServerPort'))
|
|
|
|
|
|
def naturalize_powerports(apps, schema_editor):
|
|
_update_model_names(apps.get_model('dcim', 'PowerPort'))
|
|
|
|
|
|
def naturalize_poweroutlets(apps, schema_editor):
|
|
_update_model_names(apps.get_model('dcim', 'PowerOutlet'))
|
|
|
|
|
|
def naturalize_frontports(apps, schema_editor):
|
|
_update_model_names(apps.get_model('dcim', 'FrontPort'))
|
|
|
|
|
|
def naturalize_rearports(apps, schema_editor):
|
|
_update_model_names(apps.get_model('dcim', 'RearPort'))
|
|
|
|
|
|
def naturalize_devicebays(apps, schema_editor):
|
|
_update_model_names(apps.get_model('dcim', 'DeviceBay'))
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('dcim', '0092_fix_rack_outer_unit'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.AlterModelOptions(
|
|
name='consoleport',
|
|
options={'ordering': ('device', '_name')},
|
|
),
|
|
migrations.AlterModelOptions(
|
|
name='consoleserverport',
|
|
options={'ordering': ('device', '_name')},
|
|
),
|
|
migrations.AlterModelOptions(
|
|
name='devicebay',
|
|
options={'ordering': ('device', '_name')},
|
|
),
|
|
migrations.AlterModelOptions(
|
|
name='frontport',
|
|
options={'ordering': ('device', '_name')},
|
|
),
|
|
migrations.AlterModelOptions(
|
|
name='inventoryitem',
|
|
options={'ordering': ('device__id', 'parent__id', '_name')},
|
|
),
|
|
migrations.AlterModelOptions(
|
|
name='poweroutlet',
|
|
options={'ordering': ('device', '_name')},
|
|
),
|
|
migrations.AlterModelOptions(
|
|
name='powerport',
|
|
options={'ordering': ('device', '_name')},
|
|
),
|
|
migrations.AlterModelOptions(
|
|
name='rearport',
|
|
options={'ordering': ('device', '_name')},
|
|
),
|
|
migrations.AddField(
|
|
model_name='consoleport',
|
|
name='_name',
|
|
field=utilities.fields.NaturalOrderingField('target_field', blank=True, max_length=100, naturalize_function=utilities.ordering.naturalize),
|
|
),
|
|
migrations.AddField(
|
|
model_name='consoleserverport',
|
|
name='_name',
|
|
field=utilities.fields.NaturalOrderingField('target_field', blank=True, max_length=100, naturalize_function=utilities.ordering.naturalize),
|
|
),
|
|
migrations.AddField(
|
|
model_name='devicebay',
|
|
name='_name',
|
|
field=utilities.fields.NaturalOrderingField('target_field', blank=True, max_length=100, naturalize_function=utilities.ordering.naturalize),
|
|
),
|
|
migrations.AddField(
|
|
model_name='frontport',
|
|
name='_name',
|
|
field=utilities.fields.NaturalOrderingField('target_field', blank=True, max_length=100, naturalize_function=utilities.ordering.naturalize),
|
|
),
|
|
migrations.AddField(
|
|
model_name='inventoryitem',
|
|
name='_name',
|
|
field=utilities.fields.NaturalOrderingField('target_field', blank=True, max_length=100, naturalize_function=utilities.ordering.naturalize),
|
|
),
|
|
migrations.AddField(
|
|
model_name='poweroutlet',
|
|
name='_name',
|
|
field=utilities.fields.NaturalOrderingField('target_field', blank=True, max_length=100, naturalize_function=utilities.ordering.naturalize),
|
|
),
|
|
migrations.AddField(
|
|
model_name='powerport',
|
|
name='_name',
|
|
field=utilities.fields.NaturalOrderingField('target_field', blank=True, max_length=100, naturalize_function=utilities.ordering.naturalize),
|
|
),
|
|
migrations.AddField(
|
|
model_name='rearport',
|
|
name='_name',
|
|
field=utilities.fields.NaturalOrderingField('target_field', blank=True, max_length=100, naturalize_function=utilities.ordering.naturalize),
|
|
),
|
|
migrations.RunPython(
|
|
code=naturalize_consoleports,
|
|
reverse_code=migrations.RunPython.noop
|
|
),
|
|
migrations.RunPython(
|
|
code=naturalize_consoleserverports,
|
|
reverse_code=migrations.RunPython.noop
|
|
),
|
|
migrations.RunPython(
|
|
code=naturalize_powerports,
|
|
reverse_code=migrations.RunPython.noop
|
|
),
|
|
migrations.RunPython(
|
|
code=naturalize_poweroutlets,
|
|
reverse_code=migrations.RunPython.noop
|
|
),
|
|
migrations.RunPython(
|
|
code=naturalize_frontports,
|
|
reverse_code=migrations.RunPython.noop
|
|
),
|
|
migrations.RunPython(
|
|
code=naturalize_rearports,
|
|
reverse_code=migrations.RunPython.noop
|
|
),
|
|
migrations.RunPython(
|
|
code=naturalize_devicebays,
|
|
reverse_code=migrations.RunPython.noop
|
|
),
|
|
]
|