summaryrefslogtreecommitdiff
path: root/mirrors/models.py
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2011-03-29 17:39:59 -0500
committerDan McGee <dan@archlinux.org>2011-04-07 17:04:00 -0500
commit6fe08cd68901e698f4a0741e177354a45c753b46 (patch)
tree28a464e34823b62a1fcf5b26b02174b477ec10be /mirrors/models.py
parentac550af4c9b31fe85b783d846adad75bb7d4aa02 (diff)
Utilize Django 1.3 'on_delete' feature on several foreign keys
The most important one here is PROTECT to keep people from making bone-headed plays and deleting an Arch or Repo and every package along with it. We can use this in a few other places, as well as some carefully placed SET_NULL indicators. Note that nothing here pushes deletion responsibilities down to the database, although that will probably happen in a future commit. Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'mirrors/models.py')
-rw-r--r--mirrors/models.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/mirrors/models.py b/mirrors/models.py
index dce17b5e..80808e2e 100644
--- a/mirrors/models.py
+++ b/mirrors/models.py
@@ -14,7 +14,7 @@ TIER_CHOICES = (
class Mirror(models.Model):
name = models.CharField(max_length=255, unique=True)
tier = models.SmallIntegerField(default=2, choices=TIER_CHOICES)
- upstream = models.ForeignKey('self', null=True)
+ upstream = models.ForeignKey('self', null=True, on_delete=models.SET_NULL)
country = models.CharField(max_length=255, db_index=True)
admin_email = models.EmailField(max_length=255, blank=True)
public = models.BooleanField(default=True)
@@ -56,7 +56,7 @@ class MirrorProtocol(models.Model):
class MirrorUrl(models.Model):
url = models.CharField(max_length=255, unique=True)
protocol = models.ForeignKey(MirrorProtocol, related_name="urls",
- editable=False)
+ editable=False, on_delete=models.PROTECT)
mirror = models.ForeignKey(Mirror, related_name="urls")
has_ipv4 = models.BooleanField("IPv4 capable", default=True,
editable=False)