Revision 3bb0b117 snf-cyclades-app/synnefo/db/models.py

b/snf-cyclades-app/synnefo/db/models.py
305 305
    updated = models.DateTimeField(auto_now=True)
306 306
    imageid = models.CharField(max_length=100, null=False)
307 307
    hostid = models.CharField(max_length=100)
308
    flavor = models.ForeignKey(Flavor)
308
    flavor = models.ForeignKey(Flavor, on_delete=models.PROTECT)
309 309
    deleted = models.BooleanField('Deleted', default=False, db_index=True)
310 310
    suspended = models.BooleanField('Administratively Suspended',
311 311
                                    default=False)
312 312
    serial = models.ForeignKey(QuotaHolderSerial,
313
                               related_name='virtual_machine', null=True)
313
                               related_name='virtual_machine', null=True,
314
                               on_delete=models.SET_NULL)
314 315

  
315 316
    # VM State
316 317
    # The following fields are volatile data, in the sense
......
403 404
class VirtualMachineMetadata(models.Model):
404 405
    meta_key = models.CharField(max_length=50)
405 406
    meta_value = models.CharField(max_length=500)
406
    vm = models.ForeignKey(VirtualMachine, related_name='metadata')
407
    vm = models.ForeignKey(VirtualMachine, related_name='metadata',
408
                           on_delete=models.CASCADE)
407 409

  
408 410
    class Meta:
409 411
        unique_together = (('meta_key', 'vm'),)
......
505 507
                                                            size=0),
506 508
                                null=True)
507 509
    serial = models.ForeignKey(QuotaHolderSerial, related_name='network',
508
                               null=True)
510
                               null=True, on_delete=models.SET_NULL)
509 511

  
510 512
    def __unicode__(self):
511 513
        return "<Network: %s>" % str(self.id)
......
617 619
        'OP_NETWORK_QUERY_DATA': None
618 620
    }
619 621

  
620
    network = models.ForeignKey(Network, related_name='backend_networks')
622
    network = models.ForeignKey(Network, related_name='backend_networks',
623
                                on_delete=models.CASCADE)
621 624
    backend = models.ForeignKey(Backend, related_name='networks',
622 625
                                on_delete=models.PROTECT)
623 626
    created = models.DateTimeField(auto_now_add=True)
......
672 675
        ("ERROR", "Error"),
673 676
    )
674 677

  
675
    machine = models.ForeignKey(VirtualMachine, related_name='nics')
676
    network = models.ForeignKey(Network, related_name='nics')
678
    machine = models.ForeignKey(VirtualMachine, related_name='nics',
679
                                on_delete=models.CASCADE)
680
    network = models.ForeignKey(Network, related_name='nics',
681
                                on_delete=models.CASCADE)
677 682
    created = models.DateTimeField(auto_now_add=True)
678 683
    updated = models.DateTimeField(auto_now=True)
679 684
    index = models.IntegerField(null=True)
......
706 711
                              null=False, db_index=True)
707 712
    ipv4 = models.IPAddressField(null=False, unique=True, db_index=True)
708 713
    network = models.ForeignKey(Network, related_name="floating_ips",
709
                                null=False)
714
                                null=False, on_delete=models.CASCADE)
710 715
    machine = models.ForeignKey(VirtualMachine, related_name="floating_ips",
711
                                null=True)
716
                                null=True, on_delete=models.CASCADE)
712 717
    created = models.DateTimeField(auto_now_add=True)
713 718
    deleted = models.BooleanField(default=False, null=False)
714 719
    serial = models.ForeignKey(QuotaHolderSerial,
715
                               related_name="floating_ips", null=True)
720
                               related_name="floating_ips", null=True,
721
                               on_delete=models.SET_NULL)
716 722

  
717 723
    def __unicode__(self):
718 724
        return "<FIP: %s@%s>" % (self.ipv4, self.network.id)
......
822 828
    objects = VirtualMachineDiagnosticManager()
823 829

  
824 830
    created = models.DateTimeField(auto_now_add=True)
825
    machine = models.ForeignKey('VirtualMachine', related_name="diagnostics")
831
    machine = models.ForeignKey('VirtualMachine', related_name="diagnostics",
832
                                on_delete=models.CASCADE)
826 833
    level = models.CharField(max_length=20, choices=TYPES)
827 834
    source = models.CharField(max_length=100)
828 835
    source_date = models.DateTimeField(null=True)

Also available in: Unified diff