7699 _sitegroup -> _site_group

This commit is contained in:
Arthur Hanson 2024-10-30 12:07:13 -07:00
parent 5c022f0ae2
commit 88aa554477
4 changed files with 12 additions and 12 deletions

View File

@ -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)'),

View File

@ -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

View File

@ -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):

View File

@ -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,