mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
93 lines
2.2 KiB
Python
93 lines
2.2 KiB
Python
from django.db import migrations, models
|
|
|
|
RACK_TYPE_CHOICES = (
|
|
(100, '2-post-frame'),
|
|
(200, '4-post-frame'),
|
|
(300, '4-post-cabinet'),
|
|
(1000, 'wall-frame'),
|
|
(1100, 'wall-cabinet'),
|
|
)
|
|
|
|
RACK_STATUS_CHOICES = (
|
|
(0, 'reserved'),
|
|
(1, 'available'),
|
|
(2, 'planned'),
|
|
(3, 'active'),
|
|
(4, 'deprecated'),
|
|
)
|
|
|
|
RACK_DIMENSION_CHOICES = (
|
|
(1000, 'mm'),
|
|
(2000, 'in'),
|
|
)
|
|
|
|
|
|
def rack_type_to_slug(apps, schema_editor):
|
|
Rack = apps.get_model('dcim', 'Rack')
|
|
for id, slug in RACK_TYPE_CHOICES:
|
|
Rack.objects.filter(type=str(id)).update(type=slug)
|
|
|
|
|
|
def rack_status_to_slug(apps, schema_editor):
|
|
Rack = apps.get_model('dcim', 'Rack')
|
|
for id, slug in RACK_STATUS_CHOICES:
|
|
Rack.objects.filter(status=str(id)).update(status=slug)
|
|
|
|
|
|
def rack_outer_unit_to_slug(apps, schema_editor):
|
|
Rack = apps.get_model('dcim', 'Rack')
|
|
for id, slug in RACK_DIMENSION_CHOICES:
|
|
Rack.objects.filter(status=str(id)).update(status=slug)
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
atomic = False
|
|
|
|
dependencies = [
|
|
('dcim', '0078_3569_site_fields'),
|
|
]
|
|
|
|
operations = [
|
|
|
|
# Rack.type
|
|
migrations.AlterField(
|
|
model_name='rack',
|
|
name='type',
|
|
field=models.CharField(blank=True, default='', max_length=50),
|
|
),
|
|
migrations.RunPython(
|
|
code=rack_type_to_slug
|
|
),
|
|
migrations.AlterField(
|
|
model_name='rack',
|
|
name='type',
|
|
field=models.CharField(blank=True, max_length=50),
|
|
),
|
|
|
|
# Rack.status
|
|
migrations.AlterField(
|
|
model_name='rack',
|
|
name='status',
|
|
field=models.CharField(default='active', max_length=50),
|
|
),
|
|
migrations.RunPython(
|
|
code=rack_status_to_slug
|
|
),
|
|
|
|
# Rack.outer_unit
|
|
migrations.AlterField(
|
|
model_name='rack',
|
|
name='outer_unit',
|
|
field=models.CharField(blank=True, default='', max_length=50),
|
|
),
|
|
migrations.RunPython(
|
|
code=rack_outer_unit_to_slug
|
|
),
|
|
migrations.AlterField(
|
|
model_name='rack',
|
|
name='outer_unit',
|
|
field=models.CharField(blank=True, max_length=50),
|
|
),
|
|
|
|
]
|