mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
38 lines
1.0 KiB
Python
38 lines
1.0 KiB
Python
import sys
|
|
|
|
from django.db import migrations
|
|
|
|
|
|
def cache_circuit_terminations(apps, schema_editor):
|
|
Circuit = apps.get_model('circuits', 'Circuit')
|
|
CircuitTermination = apps.get_model('circuits', 'CircuitTermination')
|
|
|
|
if 'test' not in sys.argv:
|
|
print(f"\n Caching circuit terminations...", flush=True)
|
|
|
|
a_terminations = {
|
|
ct.circuit_id: ct.pk for ct in CircuitTermination.objects.filter(term_side='A')
|
|
}
|
|
z_terminations = {
|
|
ct.circuit_id: ct.pk for ct in CircuitTermination.objects.filter(term_side='Z')
|
|
}
|
|
for circuit in Circuit.objects.all():
|
|
Circuit.objects.filter(pk=circuit.pk).update(
|
|
termination_a_id=a_terminations.get(circuit.pk),
|
|
termination_z_id=z_terminations.get(circuit.pk),
|
|
)
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('circuits', '0027_providernetwork'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.RunPython(
|
|
code=cache_circuit_terminations,
|
|
reverse_code=migrations.RunPython.noop
|
|
),
|
|
]
|