mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Create CachedValueField to contain search specific lookups
This commit is contained in:
committed by
Jeremy Stretch
parent
a61e7e7c04
commit
eed1b8f412
7
netbox/extras/fields.py
Normal file
7
netbox/extras/fields.py
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
from django.db.models import TextField
|
||||||
|
|
||||||
|
class CachedValueField(TextField):
|
||||||
|
"""
|
||||||
|
Currently a dummy field to prevent custom lookups being applied globally to TextField.
|
||||||
|
"""
|
||||||
|
pass
|
@ -1,5 +1,5 @@
|
|||||||
from django.db.models import CharField, TextField, Lookup
|
from django.db.models import CharField, TextField, Lookup
|
||||||
|
from .fields import CachedValueField
|
||||||
|
|
||||||
class Empty(Lookup):
|
class Empty(Lookup):
|
||||||
"""
|
"""
|
||||||
@ -27,4 +27,4 @@ class NetContainsOrEquals(Lookup):
|
|||||||
return 'CAST(%s as inet) >>= %s' % (lhs, rhs), params
|
return 'CAST(%s as inet) >>= %s' % (lhs, rhs), params
|
||||||
|
|
||||||
CharField.register_lookup(Empty)
|
CharField.register_lookup(Empty)
|
||||||
TextField.register_lookup(NetContainsOrEquals)
|
CachedValueField.register_lookup(NetContainsOrEquals)
|
||||||
|
@ -0,0 +1,19 @@
|
|||||||
|
# Generated by Django 4.1.6 on 2023-02-07 08:21
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
import extras.fields
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('extras', '0084_staging'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='cachedvalue',
|
||||||
|
name='value',
|
||||||
|
field=extras.fields.CachedValueField(),
|
||||||
|
),
|
||||||
|
]
|
@ -4,6 +4,7 @@ from django.contrib.contenttypes.models import ContentType
|
|||||||
from django.db import models
|
from django.db import models
|
||||||
|
|
||||||
from utilities.fields import RestrictedGenericForeignKey
|
from utilities.fields import RestrictedGenericForeignKey
|
||||||
|
from ..fields import CachedValueField
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
'CachedValue',
|
'CachedValue',
|
||||||
@ -36,7 +37,7 @@ class CachedValue(models.Model):
|
|||||||
type = models.CharField(
|
type = models.CharField(
|
||||||
max_length=30
|
max_length=30
|
||||||
)
|
)
|
||||||
value = models.TextField()
|
value = CachedValueField()
|
||||||
weight = models.PositiveSmallIntegerField(
|
weight = models.PositiveSmallIntegerField(
|
||||||
default=1000
|
default=1000
|
||||||
)
|
)
|
||||||
|
Reference in New Issue
Block a user