Manage Inventory error CharField too short. #763

Closed
opened 2025-12-29 16:25:35 +01:00 by adam · 0 comments
Owner

Originally created by @paname75 on GitHub (Mar 13, 2017).

Issue type:

**Python version:2.7.13
**NetBox version: 1.9.0-r1

in order to solve an issue with the command "manage.py run_inventory --full" on cisco 6500 platform
i had to increase the max_length from 50 to 255 of various field in the 'netbox/netbox/dcim/models.py' file

[root@srv2637 netbox-src]# diff -ruN netbox/netbox/dcim/models.py /opt/netbox/netbox/dcim/models.py
--- netbox/netbox/dcim/models.py	2017-03-13 15:19:50.341533918 +0100
+++ /opt/netbox/netbox/dcim/models.py	2017-03-07 15:37:04.348066707 +0100
@@ -611,9 +611,9 @@
     DeviceType) are automatically created as well.
     """
     manufacturer = models.ForeignKey('Manufacturer', related_name='device_types', on_delete=models.PROTECT)
-    model = models.CharField(max_length=50)
+    model = models.CharField(max_length=255)
     slug = models.SlugField()
-    part_number = models.CharField(max_length=50, blank=True, help_text="Discrete part number (optional)")
+    part_number = models.CharField(max_length=255, blank=True, help_text="Discrete part number (optional)")
     u_height = models.PositiveSmallIntegerField(verbose_name='Height (U)', default=1)
     is_full_depth = models.BooleanField(default=True, verbose_name="Is full depth",
                                         help_text="Device consumes both front and rear rack faces")
@@ -857,7 +857,7 @@
     Devices are organized by functional role; for example, "Core Switch" or "File Server". Each DeviceRole is assigned a
     color to be used when displaying rack elevations.
     """
-    name = models.CharField(max_length=50, unique=True)
+    name = models.CharField(max_length=255, unique=True)
     slug = models.SlugField(unique=True)
     color = ColorField()
 
@@ -878,7 +878,7 @@
     NetBox uses Platforms to determine how to interact with devices when pulling inventory data or other information by
     specifying an remote procedure call (RPC) client.
     """
-    name = models.CharField(max_length=50, unique=True)
+    name = models.CharField(max_length=255, unique=True)
     slug = models.SlugField(unique=True)
     rpc_client = models.CharField(max_length=30, choices=RPC_CLIENT_CHOICES, blank=True, verbose_name='RPC client')
 
@@ -916,8 +916,8 @@
     tenant = models.ForeignKey(Tenant, blank=True, null=True, related_name='devices', on_delete=models.PROTECT)
     platform = models.ForeignKey('Platform', related_name='devices', blank=True, null=True, on_delete=models.SET_NULL)
     name = NullableCharField(max_length=64, blank=True, null=True, unique=True)
-    serial = models.CharField(max_length=50, blank=True, verbose_name='Serial number')
-    asset_tag = NullableCharField(max_length=50, blank=True, null=True, unique=True, verbose_name='Asset tag',
+    serial = models.CharField(max_length=255, blank=True, verbose_name='Serial number')
+    asset_tag = NullableCharField(max_length=255, blank=True, null=True, unique=True, verbose_name='Asset tag',
                                   help_text='A unique tag used to identify this device')
     site = models.ForeignKey('Site', related_name='devices', on_delete=models.PROTECT)
     rack = models.ForeignKey('Rack', related_name='devices', blank=True, null=True, on_delete=models.PROTECT)

@@ -1371,7 +1369,7 @@
     An empty space within a Device which can house a child device
     """
     device = models.ForeignKey('Device', related_name='device_bays', on_delete=models.CASCADE)
-    name = models.CharField(max_length=50, verbose_name='Name')
+    name = models.CharField(max_length=255, verbose_name='Name')
     installed_device = models.OneToOneField('Device', related_name='parent_bay', on_delete=models.SET_NULL, blank=True,
                                             null=True)
 
@@ -1407,11 +1405,11 @@
     """
     device = models.ForeignKey('Device', related_name='modules', on_delete=models.CASCADE)
     parent = models.ForeignKey('self', related_name='submodules', blank=True, null=True, on_delete=models.CASCADE)
-    name = models.CharField(max_length=50, verbose_name='Name')
+    name = models.CharField(max_length=255, verbose_name='Name')
     manufacturer = models.ForeignKey('Manufacturer', related_name='modules', blank=True, null=True,
                                      on_delete=models.PROTECT)
-    part_id = models.CharField(max_length=50, verbose_name='Part ID', blank=True)
-    serial = models.CharField(max_length=50, verbose_name='Serial number', blank=True)
+    part_id = models.CharField(max_length=255, verbose_name='Part ID', blank=True)
+    serial = models.CharField(max_length=255, verbose_name='Serial number', blank=True)
     discovered = models.BooleanField(default=False, verbose_name='Discovered')
Originally created by @paname75 on GitHub (Mar 13, 2017). <!-- Please note: GitHub issues are to be used only for feature requests and bug reports. For installation assistance or general discussion, please join us on the mailing list: https://groups.google.com/forum/#!forum/netbox-discuss Please indicate "bug report" or "feature request" below. Be sure to search the existing set of issues (both open and closed) to see if a similar issue has already been raised. --> ### Issue type: <!-- If filing a bug, please indicate the version of Python and NetBox you are running. (This is not necessary for feature requests.) --> **Python version:2.7.13 **NetBox version: 1.9.0-r1 <!-- If filing a bug, please record the exact steps taken to reproduce the bug and any errors messages that are generated. If filing a feature request, please precisely describe the data model or workflow you would like to see implemented, and provide a use case. --> in order to solve an issue with the command "manage.py run_inventory --full" on cisco 6500 platform i had to increase the max_length from 50 to 255 of various field in the 'netbox/netbox/dcim/models.py' file ``` [root@srv2637 netbox-src]# diff -ruN netbox/netbox/dcim/models.py /opt/netbox/netbox/dcim/models.py --- netbox/netbox/dcim/models.py 2017-03-13 15:19:50.341533918 +0100 +++ /opt/netbox/netbox/dcim/models.py 2017-03-07 15:37:04.348066707 +0100 @@ -611,9 +611,9 @@ DeviceType) are automatically created as well. """ manufacturer = models.ForeignKey('Manufacturer', related_name='device_types', on_delete=models.PROTECT) - model = models.CharField(max_length=50) + model = models.CharField(max_length=255) slug = models.SlugField() - part_number = models.CharField(max_length=50, blank=True, help_text="Discrete part number (optional)") + part_number = models.CharField(max_length=255, blank=True, help_text="Discrete part number (optional)") u_height = models.PositiveSmallIntegerField(verbose_name='Height (U)', default=1) is_full_depth = models.BooleanField(default=True, verbose_name="Is full depth", help_text="Device consumes both front and rear rack faces") @@ -857,7 +857,7 @@ Devices are organized by functional role; for example, "Core Switch" or "File Server". Each DeviceRole is assigned a color to be used when displaying rack elevations. """ - name = models.CharField(max_length=50, unique=True) + name = models.CharField(max_length=255, unique=True) slug = models.SlugField(unique=True) color = ColorField() @@ -878,7 +878,7 @@ NetBox uses Platforms to determine how to interact with devices when pulling inventory data or other information by specifying an remote procedure call (RPC) client. """ - name = models.CharField(max_length=50, unique=True) + name = models.CharField(max_length=255, unique=True) slug = models.SlugField(unique=True) rpc_client = models.CharField(max_length=30, choices=RPC_CLIENT_CHOICES, blank=True, verbose_name='RPC client') @@ -916,8 +916,8 @@ tenant = models.ForeignKey(Tenant, blank=True, null=True, related_name='devices', on_delete=models.PROTECT) platform = models.ForeignKey('Platform', related_name='devices', blank=True, null=True, on_delete=models.SET_NULL) name = NullableCharField(max_length=64, blank=True, null=True, unique=True) - serial = models.CharField(max_length=50, blank=True, verbose_name='Serial number') - asset_tag = NullableCharField(max_length=50, blank=True, null=True, unique=True, verbose_name='Asset tag', + serial = models.CharField(max_length=255, blank=True, verbose_name='Serial number') + asset_tag = NullableCharField(max_length=255, blank=True, null=True, unique=True, verbose_name='Asset tag', help_text='A unique tag used to identify this device') site = models.ForeignKey('Site', related_name='devices', on_delete=models.PROTECT) rack = models.ForeignKey('Rack', related_name='devices', blank=True, null=True, on_delete=models.PROTECT) @@ -1371,7 +1369,7 @@ An empty space within a Device which can house a child device """ device = models.ForeignKey('Device', related_name='device_bays', on_delete=models.CASCADE) - name = models.CharField(max_length=50, verbose_name='Name') + name = models.CharField(max_length=255, verbose_name='Name') installed_device = models.OneToOneField('Device', related_name='parent_bay', on_delete=models.SET_NULL, blank=True, null=True) @@ -1407,11 +1405,11 @@ """ device = models.ForeignKey('Device', related_name='modules', on_delete=models.CASCADE) parent = models.ForeignKey('self', related_name='submodules', blank=True, null=True, on_delete=models.CASCADE) - name = models.CharField(max_length=50, verbose_name='Name') + name = models.CharField(max_length=255, verbose_name='Name') manufacturer = models.ForeignKey('Manufacturer', related_name='modules', blank=True, null=True, on_delete=models.PROTECT) - part_id = models.CharField(max_length=50, verbose_name='Part ID', blank=True) - serial = models.CharField(max_length=50, verbose_name='Serial number', blank=True) + part_id = models.CharField(max_length=255, verbose_name='Part ID', blank=True) + serial = models.CharField(max_length=255, verbose_name='Serial number', blank=True) discovered = models.BooleanField(default=False, verbose_name='Discovered') ```
adam closed this issue 2025-12-29 16:25:35 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#763