Sfoglia il codice sorgente

Closes #2836: Deprecate NullableCharField

Jeremy Stretch 7 anni fa
parent
commit
fdbef8ee71

+ 38 - 0
netbox/dcim/migrations/0069_deprecate_nullablecharfield.py

@@ -0,0 +1,38 @@
+# Generated by Django 2.1.5 on 2019-02-14 14:26
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('dcim', '0068_rack_new_fields'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='device',
+            name='asset_tag',
+            field=models.CharField(blank=True, max_length=50, null=True, unique=True),
+        ),
+        migrations.AlterField(
+            model_name='device',
+            name='name',
+            field=models.CharField(blank=True, max_length=64, null=True, unique=True),
+        ),
+        migrations.AlterField(
+            model_name='inventoryitem',
+            name='asset_tag',
+            field=models.CharField(blank=True, max_length=50, null=True, unique=True),
+        ),
+        migrations.AlterField(
+            model_name='rack',
+            name='asset_tag',
+            field=models.CharField(blank=True, max_length=50, null=True, unique=True),
+        ),
+        migrations.AlterField(
+            model_name='rack',
+            name='facility_id',
+            field=models.CharField(blank=True, max_length=50, null=True),
+        ),
+    ]

+ 6 - 6
netbox/dcim/models.py

@@ -16,7 +16,7 @@ from taggit.managers import TaggableManager
 from timezone_field import TimeZoneField
 
 from extras.models import ConfigContextModel, CustomFieldModel, ObjectChange
-from utilities.fields import ColorField, NullableCharField
+from utilities.fields import ColorField
 from utilities.managers import NaturalOrderingManager
 from utilities.models import ChangeLoggedModel
 from utilities.utils import serialize_object, to_meters
@@ -470,7 +470,7 @@ class Rack(ChangeLoggedModel, CustomFieldModel):
     name = models.CharField(
         max_length=50
     )
-    facility_id = NullableCharField(
+    facility_id = models.CharField(
         max_length=50,
         blank=True,
         null=True,
@@ -511,7 +511,7 @@ class Rack(ChangeLoggedModel, CustomFieldModel):
         blank=True,
         verbose_name='Serial number'
     )
-    asset_tag = NullableCharField(
+    asset_tag = models.CharField(
         max_length=50,
         blank=True,
         null=True,
@@ -1354,7 +1354,7 @@ class Device(ChangeLoggedModel, ConfigContextModel, CustomFieldModel):
         blank=True,
         null=True
     )
-    name = NullableCharField(
+    name = models.CharField(
         max_length=64,
         blank=True,
         null=True,
@@ -1365,7 +1365,7 @@ class Device(ChangeLoggedModel, ConfigContextModel, CustomFieldModel):
         blank=True,
         verbose_name='Serial number'
     )
-    asset_tag = NullableCharField(
+    asset_tag = models.CharField(
         max_length=50,
         blank=True,
         null=True,
@@ -2389,7 +2389,7 @@ class InventoryItem(ComponentModel):
         verbose_name='Serial number',
         blank=True
     )
-    asset_tag = NullableCharField(
+    asset_tag = models.CharField(
         max_length=50,
         unique=True,
         blank=True,

+ 2 - 0
netbox/utilities/fields.py

@@ -10,6 +10,8 @@ ColorValidator = RegexValidator(
 )
 
 
+# Deprecated: Retained only to ensure successful migration from early releases
+# Use models.CharField(null=True) instead
 class NullableCharField(models.CharField):
     description = "Stores empty values as NULL rather than ''"