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:
20
netbox/ipam/migrations/0067_ipaddress_index_host.py
Normal file
20
netbox/ipam/migrations/0067_ipaddress_index_host.py
Normal 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'),
|
||||||
|
),
|
||||||
|
]
|
@ -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'
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user