mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-29 11:56:25 -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(
|
||||
queryset=SiteGroup.objects.all(),
|
||||
field_name='_sitegroup',
|
||||
field_name='_site_group',
|
||||
lookup_expr='in',
|
||||
label=_('Site group (ID)'),
|
||||
)
|
||||
site_group = TreeNodeMultipleChoiceFilter(
|
||||
queryset=SiteGroup.objects.all(),
|
||||
field_name='_sitegroup',
|
||||
field_name='_site_group',
|
||||
lookup_expr='in',
|
||||
to_field_name='slug',
|
||||
label=_('Site group (slug)'),
|
||||
|
@ -75,7 +75,7 @@ class CachedScopeMixin(models.Model):
|
||||
blank=True,
|
||||
null=True
|
||||
)
|
||||
_sitegroup = models.ForeignKey(
|
||||
_site_group = models.ForeignKey(
|
||||
to='dcim.SiteGroup',
|
||||
on_delete=models.CASCADE,
|
||||
related_name='_%(class)ss',
|
||||
@ -93,20 +93,20 @@ class CachedScopeMixin(models.Model):
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
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:
|
||||
scope_type = self.scope_type.model_class()
|
||||
if scope_type == apps.get_model('dcim', 'region'):
|
||||
self._region = self.scope
|
||||
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'):
|
||||
self._region = self.scope.region
|
||||
self._sitegroup = self.scope.group
|
||||
self._site_group = self.scope.group
|
||||
self._site = self.scope
|
||||
elif scope_type == apps.get_model('dcim', 'location'):
|
||||
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._location = self.scope
|
||||
cache_related_objects.alters_data = True
|
||||
|
@ -31,7 +31,7 @@ class ComponentType(NetBoxObjectType):
|
||||
|
||||
@strawberry_django.type(
|
||||
models.Cluster,
|
||||
exclude=('scope_type', 'scope_id', '_location', '_region', '_site', '_sitegroup'),
|
||||
exclude=('scope_type', 'scope_id', '_location', '_region', '_site', '_site_group'),
|
||||
filters=ClusterFilter
|
||||
)
|
||||
class ClusterType(VLANGroupsMixin, NetBoxObjectType):
|
||||
|
@ -4,18 +4,18 @@ from django.db import migrations, models
|
||||
|
||||
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')
|
||||
|
||||
clusters = Cluster.objects.filter(site__isnull=False).prefetch_related('site')
|
||||
for cluster in clusters:
|
||||
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
|
||||
# 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):
|
||||
@ -60,7 +60,7 @@ class Migration(migrations.Migration):
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='cluster',
|
||||
name='_sitegroup',
|
||||
name='_site_group',
|
||||
field=models.ForeignKey(
|
||||
blank=True,
|
||||
null=True,
|
||||
|
Loading…
Reference in New Issue
Block a user