1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Closes #11519: Add a SQL index for IPAddress host value

This commit is contained in:
Jeremy Stretch
2023-08-02 08:45:56 -04:00
parent 0bb86f1e7d
commit 8f271151a7
2 changed files with 25 additions and 0 deletions

View File

@ -0,0 +1,20 @@
# Generated by Django 4.1.10 on 2023-08-02 12:43
from django.db import migrations, models
import django.db.models.functions.comparison
import ipam.fields
import ipam.lookups
class Migration(migrations.Migration):
dependencies = [
('ipam', '0066_iprange_mark_utilized'),
]
operations = [
migrations.AddIndex(
model_name='ipaddress',
index=models.Index(django.db.models.functions.comparison.Cast(ipam.lookups.Host('address'), output_field=ipam.fields.IPAddressField()), name='ipam_ipaddress_host'),
),
]

View File

@ -4,6 +4,7 @@ from django.contrib.contenttypes.models import ContentType
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.db import models from django.db import models
from django.db.models import F from django.db.models import F
from django.db.models.functions import Cast
from django.urls import reverse from django.urls import reverse
from django.utils.functional import cached_property from django.utils.functional import cached_property
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
@ -11,6 +12,7 @@ from django.utils.translation import gettext_lazy as _
from ipam.choices import * from ipam.choices import *
from ipam.constants import * from ipam.constants import *
from ipam.fields import IPNetworkField, IPAddressField from ipam.fields import IPNetworkField, IPAddressField
from ipam.lookups import Host
from ipam.managers import IPAddressManager from ipam.managers import IPAddressManager
from ipam.querysets import PrefixQuerySet from ipam.querysets import PrefixQuerySet
from ipam.validators import DNSValidator from ipam.validators import DNSValidator
@ -778,6 +780,9 @@ class IPAddress(PrimaryModel):
class Meta: class Meta:
ordering = ('address', 'pk') # address may be non-unique ordering = ('address', 'pk') # address may be non-unique
indexes = [
models.Index(Cast(Host('address'), output_field=IPAddressField()), name='ipam_ipaddress_host'),
]
verbose_name = 'IP address' verbose_name = 'IP address'
verbose_name_plural = 'IP addresses' verbose_name_plural = 'IP addresses'