0082_3569_port_fields.py 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. from django.db import migrations, models
  2. PORT_TYPE_CHOICES = (
  3. (1000, '8p8c'),
  4. (1100, '110-punch'),
  5. (1200, 'bnc'),
  6. (2000, 'st'),
  7. (2100, 'sc'),
  8. (2110, 'sc-apc'),
  9. (2200, 'fc'),
  10. (2300, 'lc'),
  11. (2310, 'lc-apc'),
  12. (2400, 'mtrj'),
  13. (2500, 'mpo'),
  14. (2600, 'lsh'),
  15. (2610, 'lsh-apc'),
  16. )
  17. def frontporttemplate_type_to_slug(apps, schema_editor):
  18. FrontPortTemplate = apps.get_model('dcim', 'FrontPortTemplate')
  19. for id, slug in PORT_TYPE_CHOICES:
  20. FrontPortTemplate.objects.filter(type=id).update(type=slug)
  21. def rearporttemplate_type_to_slug(apps, schema_editor):
  22. RearPortTemplate = apps.get_model('dcim', 'RearPortTemplate')
  23. for id, slug in PORT_TYPE_CHOICES:
  24. RearPortTemplate.objects.filter(type=id).update(type=slug)
  25. def frontport_type_to_slug(apps, schema_editor):
  26. FrontPort = apps.get_model('dcim', 'FrontPort')
  27. for id, slug in PORT_TYPE_CHOICES:
  28. FrontPort.objects.filter(type=id).update(type=slug)
  29. def rearport_type_to_slug(apps, schema_editor):
  30. RearPort = apps.get_model('dcim', 'RearPort')
  31. for id, slug in PORT_TYPE_CHOICES:
  32. RearPort.objects.filter(type=id).update(type=slug)
  33. class Migration(migrations.Migration):
  34. atomic = False
  35. dependencies = [
  36. ('dcim', '0082_3569_interface_fields'),
  37. ]
  38. operations = [
  39. # FrontPortTemplate.type
  40. migrations.AlterField(
  41. model_name='frontporttemplate',
  42. name='type',
  43. field=models.CharField(max_length=50),
  44. ),
  45. migrations.RunPython(
  46. code=frontporttemplate_type_to_slug
  47. ),
  48. # RearPortTemplate.type
  49. migrations.AlterField(
  50. model_name='rearporttemplate',
  51. name='type',
  52. field=models.CharField(max_length=50),
  53. ),
  54. migrations.RunPython(
  55. code=rearporttemplate_type_to_slug
  56. ),
  57. # FrontPort.type
  58. migrations.AlterField(
  59. model_name='frontport',
  60. name='type',
  61. field=models.CharField(max_length=50),
  62. ),
  63. migrations.RunPython(
  64. code=frontport_type_to_slug
  65. ),
  66. # RearPort.type
  67. migrations.AlterField(
  68. model_name='rearport',
  69. name='type',
  70. field=models.CharField(max_length=50),
  71. ),
  72. migrations.RunPython(
  73. code=rearport_type_to_slug
  74. ),
  75. ]