mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-30 04:16:24 -06:00
7699 _sitegroup -> _site_group
This commit is contained in:
parent
5c022f0ae2
commit
88aa554477
@ -2354,13 +2354,13 @@ class ScopedFilterSet(BaseFilterSet):
|
|||||||
)
|
)
|
||||||
site_group_id = TreeNodeMultipleChoiceFilter(
|
site_group_id = TreeNodeMultipleChoiceFilter(
|
||||||
queryset=SiteGroup.objects.all(),
|
queryset=SiteGroup.objects.all(),
|
||||||
field_name='_sitegroup',
|
field_name='_site_group',
|
||||||
lookup_expr='in',
|
lookup_expr='in',
|
||||||
label=_('Site group (ID)'),
|
label=_('Site group (ID)'),
|
||||||
)
|
)
|
||||||
site_group = TreeNodeMultipleChoiceFilter(
|
site_group = TreeNodeMultipleChoiceFilter(
|
||||||
queryset=SiteGroup.objects.all(),
|
queryset=SiteGroup.objects.all(),
|
||||||
field_name='_sitegroup',
|
field_name='_site_group',
|
||||||
lookup_expr='in',
|
lookup_expr='in',
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
label=_('Site group (slug)'),
|
label=_('Site group (slug)'),
|
||||||
|
@ -75,7 +75,7 @@ class CachedScopeMixin(models.Model):
|
|||||||
blank=True,
|
blank=True,
|
||||||
null=True
|
null=True
|
||||||
)
|
)
|
||||||
_sitegroup = models.ForeignKey(
|
_site_group = models.ForeignKey(
|
||||||
to='dcim.SiteGroup',
|
to='dcim.SiteGroup',
|
||||||
on_delete=models.CASCADE,
|
on_delete=models.CASCADE,
|
||||||
related_name='_%(class)ss',
|
related_name='_%(class)ss',
|
||||||
@ -93,20 +93,20 @@ class CachedScopeMixin(models.Model):
|
|||||||
super().save(*args, **kwargs)
|
super().save(*args, **kwargs)
|
||||||
|
|
||||||
def cache_related_objects(self):
|
def cache_related_objects(self):
|
||||||
self._region = self._sitegroup = self._site = self._location = None
|
self._region = self._site_group = self._site = self._location = None
|
||||||
if self.scope_type:
|
if self.scope_type:
|
||||||
scope_type = self.scope_type.model_class()
|
scope_type = self.scope_type.model_class()
|
||||||
if scope_type == apps.get_model('dcim', 'region'):
|
if scope_type == apps.get_model('dcim', 'region'):
|
||||||
self._region = self.scope
|
self._region = self.scope
|
||||||
elif scope_type == apps.get_model('dcim', 'sitegroup'):
|
elif scope_type == apps.get_model('dcim', 'sitegroup'):
|
||||||
self._sitegroup = self.scope
|
self._site_group = self.scope
|
||||||
elif scope_type == apps.get_model('dcim', 'site'):
|
elif scope_type == apps.get_model('dcim', 'site'):
|
||||||
self._region = self.scope.region
|
self._region = self.scope.region
|
||||||
self._sitegroup = self.scope.group
|
self._site_group = self.scope.group
|
||||||
self._site = self.scope
|
self._site = self.scope
|
||||||
elif scope_type == apps.get_model('dcim', 'location'):
|
elif scope_type == apps.get_model('dcim', 'location'):
|
||||||
self._region = self.scope.site.region
|
self._region = self.scope.site.region
|
||||||
self._sitegroup = self.scope.site.group
|
self._site_group = self.scope.site.group
|
||||||
self._site = self.scope.site
|
self._site = self.scope.site
|
||||||
self._location = self.scope
|
self._location = self.scope
|
||||||
cache_related_objects.alters_data = True
|
cache_related_objects.alters_data = True
|
||||||
|
@ -31,7 +31,7 @@ class ComponentType(NetBoxObjectType):
|
|||||||
|
|
||||||
@strawberry_django.type(
|
@strawberry_django.type(
|
||||||
models.Cluster,
|
models.Cluster,
|
||||||
exclude=('scope_type', 'scope_id', '_location', '_region', '_site', '_sitegroup'),
|
exclude=('scope_type', 'scope_id', '_location', '_region', '_site', '_site_group'),
|
||||||
filters=ClusterFilter
|
filters=ClusterFilter
|
||||||
)
|
)
|
||||||
class ClusterType(VLANGroupsMixin, NetBoxObjectType):
|
class ClusterType(VLANGroupsMixin, NetBoxObjectType):
|
||||||
|
@ -4,18 +4,18 @@ from django.db import migrations, models
|
|||||||
|
|
||||||
def populate_denormalized_fields(apps, schema_editor):
|
def populate_denormalized_fields(apps, schema_editor):
|
||||||
"""
|
"""
|
||||||
Copy site ForeignKey values to the scope GFK.
|
Copy the denormalized fields for _region, _site_group and _site from existing site field.
|
||||||
"""
|
"""
|
||||||
Cluster = apps.get_model('virtualization', 'Cluster')
|
Cluster = apps.get_model('virtualization', 'Cluster')
|
||||||
|
|
||||||
clusters = Cluster.objects.filter(site__isnull=False).prefetch_related('site')
|
clusters = Cluster.objects.filter(site__isnull=False).prefetch_related('site')
|
||||||
for cluster in clusters:
|
for cluster in clusters:
|
||||||
cluster._region_id = cluster.site.region_id
|
cluster._region_id = cluster.site.region_id
|
||||||
cluster._sitegroup_id = cluster.site.group_id
|
cluster._site_group_id = cluster.site.group_id
|
||||||
cluster._site_id = cluster.site_id
|
cluster._site_id = cluster.site_id
|
||||||
# Note: Location cannot be set prior to migration
|
# Note: Location cannot be set prior to migration
|
||||||
|
|
||||||
Cluster.objects.bulk_update(clusters, ['_region', '_sitegroup', '_site'])
|
Cluster.objects.bulk_update(clusters, ['_region', '_site_group', '_site'])
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
@ -60,7 +60,7 @@ class Migration(migrations.Migration):
|
|||||||
),
|
),
|
||||||
migrations.AddField(
|
migrations.AddField(
|
||||||
model_name='cluster',
|
model_name='cluster',
|
||||||
name='_sitegroup',
|
name='_site_group',
|
||||||
field=models.ForeignKey(
|
field=models.ForeignKey(
|
||||||
blank=True,
|
blank=True,
|
||||||
null=True,
|
null=True,
|
||||||
|
Loading…
Reference in New Issue
Block a user