Fixes #301: Prevent deletion of DeviceBay when installed device is deleted

This commit is contained in:
Jeremy Stretch 2016-07-14 17:41:16 -04:00
parent dd62caf2f0
commit f301af5ecd
2 changed files with 23 additions and 1 deletions

View File

@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-07-14 21:38
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('dcim', '0009_site_32bit_asn_support'),
]
operations = [
migrations.AlterField(
model_name='devicebay',
name='installed_device',
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='parent_bay', to='dcim.Device'),
),
]

View File

@ -953,7 +953,8 @@ class DeviceBay(models.Model):
""" """
device = models.ForeignKey('Device', related_name='device_bays', on_delete=models.CASCADE) device = models.ForeignKey('Device', related_name='device_bays', on_delete=models.CASCADE)
name = models.CharField(max_length=50, verbose_name='Name') name = models.CharField(max_length=50, verbose_name='Name')
installed_device = models.OneToOneField('Device', related_name='parent_bay', blank=True, null=True) installed_device = models.OneToOneField('Device', related_name='parent_bay', on_delete=models.SET_NULL, blank=True,
null=True)
class Meta: class Meta:
ordering = ['device', 'name'] ordering = ['device', 'name']