mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-31 12:56:24 -06:00
11279 add collation
This commit is contained in:
parent
fb19be9cca
commit
5518286c79
@ -0,0 +1,24 @@
|
|||||||
|
# Generated by Django 5.0.9 on 2024-11-13 17:15
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('circuits', '0048_circuitterminations_cached_relations'),
|
||||||
|
('dcim', '0197_natural_sort'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='provider',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='natural_sort', max_length=100, unique=True),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='providernetwork',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='natural_sort', max_length=100),
|
||||||
|
),
|
||||||
|
]
|
@ -21,7 +21,8 @@ class Provider(ContactsMixin, PrimaryModel):
|
|||||||
verbose_name=_('name'),
|
verbose_name=_('name'),
|
||||||
max_length=100,
|
max_length=100,
|
||||||
unique=True,
|
unique=True,
|
||||||
help_text=_('Full name of the provider')
|
help_text=_('Full name of the provider'),
|
||||||
|
db_collation="natural_sort"
|
||||||
)
|
)
|
||||||
slug = models.SlugField(
|
slug = models.SlugField(
|
||||||
verbose_name=_('slug'),
|
verbose_name=_('slug'),
|
||||||
@ -95,7 +96,8 @@ class ProviderNetwork(PrimaryModel):
|
|||||||
"""
|
"""
|
||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
verbose_name=_('name'),
|
verbose_name=_('name'),
|
||||||
max_length=100
|
max_length=100,
|
||||||
|
db_collation="natural_sort"
|
||||||
)
|
)
|
||||||
provider = models.ForeignKey(
|
provider = models.ForeignKey(
|
||||||
to='circuits.Provider',
|
to='circuits.Provider',
|
||||||
|
@ -303,4 +303,24 @@ class Migration(migrations.Migration):
|
|||||||
name='name',
|
name='name',
|
||||||
field=models.CharField(db_collation='natural_sort', max_length=64),
|
field=models.CharField(db_collation='natural_sort', max_length=64),
|
||||||
),
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='powerfeed',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='natural_sort', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='powerpanel',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='natural_sort', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='virtualchassis',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='natural_sort', max_length=64),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='virtualdevicecontext',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='natural_sort', max_length=64),
|
||||||
|
),
|
||||||
]
|
]
|
||||||
|
@ -1315,7 +1315,8 @@ class VirtualChassis(PrimaryModel):
|
|||||||
)
|
)
|
||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
verbose_name=_('name'),
|
verbose_name=_('name'),
|
||||||
max_length=64
|
max_length=64,
|
||||||
|
db_collation="natural_sort"
|
||||||
)
|
)
|
||||||
domain = models.CharField(
|
domain = models.CharField(
|
||||||
verbose_name=_('domain'),
|
verbose_name=_('domain'),
|
||||||
@ -1377,7 +1378,8 @@ class VirtualDeviceContext(PrimaryModel):
|
|||||||
)
|
)
|
||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
verbose_name=_('name'),
|
verbose_name=_('name'),
|
||||||
max_length=64
|
max_length=64,
|
||||||
|
db_collation="natural_sort"
|
||||||
)
|
)
|
||||||
status = models.CharField(
|
status = models.CharField(
|
||||||
verbose_name=_('status'),
|
verbose_name=_('status'),
|
||||||
|
@ -36,7 +36,8 @@ class PowerPanel(ContactsMixin, ImageAttachmentsMixin, PrimaryModel):
|
|||||||
)
|
)
|
||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
verbose_name=_('name'),
|
verbose_name=_('name'),
|
||||||
max_length=100
|
max_length=100,
|
||||||
|
db_collation="natural_sort"
|
||||||
)
|
)
|
||||||
|
|
||||||
prerequisite_models = (
|
prerequisite_models = (
|
||||||
@ -86,7 +87,8 @@ class PowerFeed(PrimaryModel, PathEndpoint, CabledObjectModel):
|
|||||||
)
|
)
|
||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
verbose_name=_('name'),
|
verbose_name=_('name'),
|
||||||
max_length=100
|
max_length=100,
|
||||||
|
db_collation="natural_sort"
|
||||||
)
|
)
|
||||||
status = models.CharField(
|
status = models.CharField(
|
||||||
verbose_name=_('status'),
|
verbose_name=_('status'),
|
||||||
|
@ -0,0 +1,34 @@
|
|||||||
|
# Generated by Django 5.0.9 on 2024-11-13 17:15
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('ipam', '0075_vlan_qinq'),
|
||||||
|
('dcim', '0197_natural_sort'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='asnrange',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='natural_sort', max_length=100, unique=True),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='routetarget',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='natural_sort', max_length=21, unique=True),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='vlangroup',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='natural_sort', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='vrf',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='natural_sort', max_length=100),
|
||||||
|
),
|
||||||
|
]
|
@ -16,7 +16,8 @@ class ASNRange(OrganizationalModel):
|
|||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
verbose_name=_('name'),
|
verbose_name=_('name'),
|
||||||
max_length=100,
|
max_length=100,
|
||||||
unique=True
|
unique=True,
|
||||||
|
db_collation="natural_sort"
|
||||||
)
|
)
|
||||||
slug = models.SlugField(
|
slug = models.SlugField(
|
||||||
verbose_name=_('slug'),
|
verbose_name=_('slug'),
|
||||||
|
@ -35,7 +35,8 @@ class VLANGroup(OrganizationalModel):
|
|||||||
"""
|
"""
|
||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
verbose_name=_('name'),
|
verbose_name=_('name'),
|
||||||
max_length=100
|
max_length=100,
|
||||||
|
db_collation="natural_sort"
|
||||||
)
|
)
|
||||||
slug = models.SlugField(
|
slug = models.SlugField(
|
||||||
verbose_name=_('slug'),
|
verbose_name=_('slug'),
|
||||||
|
@ -18,7 +18,8 @@ class VRF(PrimaryModel):
|
|||||||
"""
|
"""
|
||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
verbose_name=_('name'),
|
verbose_name=_('name'),
|
||||||
max_length=100
|
max_length=100,
|
||||||
|
db_collation="natural_sort"
|
||||||
)
|
)
|
||||||
rd = models.CharField(
|
rd = models.CharField(
|
||||||
max_length=VRF_RD_MAX_LENGTH,
|
max_length=VRF_RD_MAX_LENGTH,
|
||||||
@ -74,7 +75,8 @@ class RouteTarget(PrimaryModel):
|
|||||||
verbose_name=_('name'),
|
verbose_name=_('name'),
|
||||||
max_length=VRF_RD_MAX_LENGTH, # Same format options as VRF RD (RFC 4360 section 4)
|
max_length=VRF_RD_MAX_LENGTH, # Same format options as VRF RD (RFC 4360 section 4)
|
||||||
unique=True,
|
unique=True,
|
||||||
help_text=_('Route target value (formatted in accordance with RFC 4360)')
|
help_text=_('Route target value (formatted in accordance with RFC 4360)'),
|
||||||
|
db_collation="natural_sort"
|
||||||
)
|
)
|
||||||
tenant = models.ForeignKey(
|
tenant = models.ForeignKey(
|
||||||
to='tenancy.Tenant',
|
to='tenancy.Tenant',
|
||||||
|
@ -0,0 +1,29 @@
|
|||||||
|
# Generated by Django 5.0.9 on 2024-11-13 17:15
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('tenancy', '0016_charfield_null_choices'),
|
||||||
|
('dcim', '0197_natural_sort'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='contact',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='natural_sort', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='tenant',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='natural_sort', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='tenantgroup',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='natural_sort', max_length=100, unique=True),
|
||||||
|
),
|
||||||
|
]
|
@ -56,7 +56,8 @@ class Contact(PrimaryModel):
|
|||||||
)
|
)
|
||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
verbose_name=_('name'),
|
verbose_name=_('name'),
|
||||||
max_length=100
|
max_length=100,
|
||||||
|
db_collation="natural_sort"
|
||||||
)
|
)
|
||||||
title = models.CharField(
|
title = models.CharField(
|
||||||
verbose_name=_('title'),
|
verbose_name=_('title'),
|
||||||
|
@ -18,7 +18,8 @@ class TenantGroup(NestedGroupModel):
|
|||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
verbose_name=_('name'),
|
verbose_name=_('name'),
|
||||||
max_length=100,
|
max_length=100,
|
||||||
unique=True
|
unique=True,
|
||||||
|
db_collation="natural_sort"
|
||||||
)
|
)
|
||||||
slug = models.SlugField(
|
slug = models.SlugField(
|
||||||
verbose_name=_('slug'),
|
verbose_name=_('slug'),
|
||||||
@ -39,7 +40,8 @@ class Tenant(ContactsMixin, PrimaryModel):
|
|||||||
"""
|
"""
|
||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
verbose_name=_('name'),
|
verbose_name=_('name'),
|
||||||
max_length=100
|
max_length=100,
|
||||||
|
db_collation="natural_sort"
|
||||||
)
|
)
|
||||||
slug = models.SlugField(
|
slug = models.SlugField(
|
||||||
verbose_name=_('slug'),
|
verbose_name=_('slug'),
|
||||||
|
@ -34,4 +34,9 @@ class Migration(migrations.Migration):
|
|||||||
name='name',
|
name='name',
|
||||||
field=models.CharField(db_collation='natural_sort', max_length=64),
|
field=models.CharField(db_collation='natural_sort', max_length=64),
|
||||||
),
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='cluster',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='natural_sort', max_length=100),
|
||||||
|
),
|
||||||
]
|
]
|
||||||
|
@ -50,7 +50,8 @@ class Cluster(ContactsMixin, CachedScopeMixin, PrimaryModel):
|
|||||||
"""
|
"""
|
||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
verbose_name=_('name'),
|
verbose_name=_('name'),
|
||||||
max_length=100
|
max_length=100,
|
||||||
|
db_collation="natural_sort"
|
||||||
)
|
)
|
||||||
type = models.ForeignKey(
|
type = models.ForeignKey(
|
||||||
verbose_name=_('type'),
|
verbose_name=_('type'),
|
||||||
|
@ -0,0 +1,49 @@
|
|||||||
|
# Generated by Django 5.0.9 on 2024-11-13 17:15
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('vpn', '0006_charfield_null_choices'),
|
||||||
|
('dcim', '0197_natural_sort'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='ikepolicy',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='natural_sort', max_length=100, unique=True),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='ikeproposal',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='natural_sort', max_length=100, unique=True),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='ipsecpolicy',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='natural_sort', max_length=100, unique=True),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='ipsecprofile',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='natural_sort', max_length=100, unique=True),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='ipsecproposal',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='natural_sort', max_length=100, unique=True),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='l2vpn',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='natural_sort', max_length=100, unique=True),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='tunnel',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='natural_sort', max_length=100, unique=True),
|
||||||
|
),
|
||||||
|
]
|
@ -22,7 +22,8 @@ class IKEProposal(PrimaryModel):
|
|||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
verbose_name=_('name'),
|
verbose_name=_('name'),
|
||||||
max_length=100,
|
max_length=100,
|
||||||
unique=True
|
unique=True,
|
||||||
|
db_collation="natural_sort"
|
||||||
)
|
)
|
||||||
authentication_method = models.CharField(
|
authentication_method = models.CharField(
|
||||||
verbose_name=('authentication method'),
|
verbose_name=('authentication method'),
|
||||||
@ -67,7 +68,8 @@ class IKEPolicy(PrimaryModel):
|
|||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
verbose_name=_('name'),
|
verbose_name=_('name'),
|
||||||
max_length=100,
|
max_length=100,
|
||||||
unique=True
|
unique=True,
|
||||||
|
db_collation="natural_sort"
|
||||||
)
|
)
|
||||||
version = models.PositiveSmallIntegerField(
|
version = models.PositiveSmallIntegerField(
|
||||||
verbose_name=_('version'),
|
verbose_name=_('version'),
|
||||||
@ -125,7 +127,8 @@ class IPSecProposal(PrimaryModel):
|
|||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
verbose_name=_('name'),
|
verbose_name=_('name'),
|
||||||
max_length=100,
|
max_length=100,
|
||||||
unique=True
|
unique=True,
|
||||||
|
db_collation="natural_sort"
|
||||||
)
|
)
|
||||||
encryption_algorithm = models.CharField(
|
encryption_algorithm = models.CharField(
|
||||||
verbose_name=_('encryption'),
|
verbose_name=_('encryption'),
|
||||||
@ -176,7 +179,8 @@ class IPSecPolicy(PrimaryModel):
|
|||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
verbose_name=_('name'),
|
verbose_name=_('name'),
|
||||||
max_length=100,
|
max_length=100,
|
||||||
unique=True
|
unique=True,
|
||||||
|
db_collation="natural_sort"
|
||||||
)
|
)
|
||||||
proposals = models.ManyToManyField(
|
proposals = models.ManyToManyField(
|
||||||
to='vpn.IPSecProposal',
|
to='vpn.IPSecProposal',
|
||||||
@ -211,7 +215,8 @@ class IPSecProfile(PrimaryModel):
|
|||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
verbose_name=_('name'),
|
verbose_name=_('name'),
|
||||||
max_length=100,
|
max_length=100,
|
||||||
unique=True
|
unique=True,
|
||||||
|
db_collation="natural_sort"
|
||||||
)
|
)
|
||||||
mode = models.CharField(
|
mode = models.CharField(
|
||||||
verbose_name=_('mode'),
|
verbose_name=_('mode'),
|
||||||
|
@ -20,7 +20,8 @@ class L2VPN(ContactsMixin, PrimaryModel):
|
|||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
verbose_name=_('name'),
|
verbose_name=_('name'),
|
||||||
max_length=100,
|
max_length=100,
|
||||||
unique=True
|
unique=True,
|
||||||
|
db_collation="natural_sort"
|
||||||
)
|
)
|
||||||
slug = models.SlugField(
|
slug = models.SlugField(
|
||||||
verbose_name=_('slug'),
|
verbose_name=_('slug'),
|
||||||
|
@ -31,7 +31,8 @@ class Tunnel(PrimaryModel):
|
|||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
verbose_name=_('name'),
|
verbose_name=_('name'),
|
||||||
max_length=100,
|
max_length=100,
|
||||||
unique=True
|
unique=True,
|
||||||
|
db_collation="natural_sort"
|
||||||
)
|
)
|
||||||
status = models.CharField(
|
status = models.CharField(
|
||||||
verbose_name=_('status'),
|
verbose_name=_('status'),
|
||||||
|
@ -0,0 +1,19 @@
|
|||||||
|
# Generated by Django 5.0.9 on 2024-11-13 17:15
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('wireless', '0011_wirelesslan__location_wirelesslan__region_and_more'),
|
||||||
|
('dcim', '0197_natural_sort'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='wirelesslangroup',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='natural_sort', max_length=100, unique=True),
|
||||||
|
),
|
||||||
|
]
|
@ -52,7 +52,8 @@ class WirelessLANGroup(NestedGroupModel):
|
|||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
verbose_name=_('name'),
|
verbose_name=_('name'),
|
||||||
max_length=100,
|
max_length=100,
|
||||||
unique=True
|
unique=True,
|
||||||
|
db_collation="natural_sort"
|
||||||
)
|
)
|
||||||
slug = models.SlugField(
|
slug = models.SlugField(
|
||||||
verbose_name=_('slug'),
|
verbose_name=_('slug'),
|
||||||
|
Loading…
Reference in New Issue
Block a user