mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-23 07:56:44 -06:00
8356 model property
This commit is contained in:
parent
c53f8a0ceb
commit
e25f58768b
@ -54,10 +54,8 @@ class ClusterViewSet(NetBoxModelViewSet):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class VirtualMachineViewSet(ConfigContextQuerySetMixin, NetBoxModelViewSet):
|
class VirtualMachineViewSet(ConfigContextQuerySetMixin, NetBoxModelViewSet):
|
||||||
queryset = VirtualMachine.objects.annotate(
|
queryset = VirtualMachine.objects.prefetch_related(
|
||||||
virtual_disk_space=Sum('virtualdisks__size')
|
'site', 'cluster', 'device', 'role', 'tenant', 'platform', 'primary_ip4', 'primary_ip6', 'tags', 'virtualdisks',
|
||||||
).prefetch_related(
|
|
||||||
'site', 'cluster', 'device', 'role', 'tenant', 'platform', 'primary_ip4', 'primary_ip6', 'tags'
|
|
||||||
)
|
)
|
||||||
filterset_class = filtersets.VirtualMachineFilterSet
|
filterset_class = filtersets.VirtualMachineFilterSet
|
||||||
|
|
||||||
|
@ -242,6 +242,10 @@ class VirtualMachine(ContactsMixin, RenderConfigMixin, ConfigContextModel, Prima
|
|||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
@property
|
||||||
|
def virtual_disk_space(self):
|
||||||
|
return sum([disk.size for disk in self.virtualdisks.all()])
|
||||||
|
|
||||||
|
|
||||||
class VMInterface(NetBoxModel, BaseInterface, TrackingModelMixin):
|
class VMInterface(NetBoxModel, BaseInterface, TrackingModelMixin):
|
||||||
virtual_machine = models.ForeignKey(
|
virtual_machine = models.ForeignKey(
|
||||||
|
@ -112,8 +112,8 @@ class VirtualMachineTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable)
|
|||||||
def render_disk(self, value, record):
|
def render_disk(self, value, record):
|
||||||
if record.disk:
|
if record.disk:
|
||||||
return record.disk
|
return record.disk
|
||||||
elif record.disk_size:
|
elif record.virtual_disk_space:
|
||||||
return record.disk_size
|
return record.virtual_disk_space
|
||||||
else:
|
else:
|
||||||
return '—'
|
return '—'
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user