summaryrefslogtreecommitdiff
path: root/archaeological_warehouse/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_warehouse/models.py')
-rw-r--r--archaeological_warehouse/models.py43
1 files changed, 34 insertions, 9 deletions
diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py
index 66386113b..ccc16d206 100644
--- a/archaeological_warehouse/models.py
+++ b/archaeological_warehouse/models.py
@@ -25,10 +25,10 @@ from django.conf import settings
from django.contrib.gis.db import models
from django.contrib.postgres.indexes import GinIndex
from django.core.exceptions import ObjectDoesNotExist
-from django.core.urlresolvers import reverse
from django.db.models import Q, Max, Count
from django.db.models.signals import post_save, post_delete, m2m_changed, pre_delete
from django.template.defaultfilters import slugify
+from django.urls import reverse
from ishtar_common.utils import ugettext_lazy as _, pgettext_lazy
from django.apps import apps
@@ -344,7 +344,9 @@ class Warehouse(
uuid = models.UUIDField(default=uuid.uuid4)
name = models.CharField(_("Name"), max_length=200)
- warehouse_type = models.ForeignKey(WarehouseType, verbose_name=_("Warehouse type"))
+ warehouse_type = models.ForeignKey(
+ WarehouseType, verbose_name=_("Warehouse type"), on_delete=models.PROTECT
+ )
person_in_charge = models.ForeignKey(
"ishtar_common.Person",
on_delete=models.SET_NULL,
@@ -667,10 +669,18 @@ class WarehouseDivisionLink(models.Model):
RELATED_SET_NAME = "divisions"
RELATED_ATTRS = ["order", "container_type"]
RELATIVE_MODELS = {Warehouse: "warehouse"}
- warehouse = models.ForeignKey(Warehouse, related_name="divisions")
- container_type = models.ForeignKey(ContainerType, blank=True, null=True)
+ warehouse = models.ForeignKey(
+ Warehouse, related_name="divisions", on_delete=models.CASCADE
+ )
+ container_type = models.ForeignKey(
+ ContainerType, blank=True, null=True, on_delete=models.PROTECT
+ )
division = models.ForeignKey(
- WarehouseDivision, help_text=_("Deprecated - do not use"), blank=True, null=True
+ WarehouseDivision,
+ help_text=_("Deprecated - do not use"),
+ blank=True,
+ null=True,
+ on_delete=models.SET_NULL,
)
order = models.IntegerField(_("Order"), default=10)
objects = WarehouseDivisionLinkManager()
@@ -744,11 +754,13 @@ class ContainerTree(models.Model):
verbose_name=_("Container"),
related_name="container_tree_child",
primary_key=True,
+ on_delete=models.DO_NOTHING,
)
container_parent = models.ForeignKey(
"archaeological_warehouse.Container",
verbose_name=_("Container parent"),
related_name="container_tree_parent",
+ on_delete=models.DO_NOTHING,
)
class Meta:
@@ -1011,7 +1023,10 @@ class Container(
# fields
uuid = models.UUIDField(default=uuid.uuid4)
location = models.ForeignKey(
- Warehouse, verbose_name=_("Location (warehouse)"), related_name="containers"
+ Warehouse,
+ verbose_name=_("Location (warehouse)"),
+ related_name="containers",
+ on_delete=models.CASCADE,
)
responsible = models.ForeignKey(
Warehouse,
@@ -1020,6 +1035,7 @@ class Container(
blank=True,
null=True,
help_text=_("Deprecated - do not use"),
+ on_delete=models.SET_NULL,
)
responsibility = models.ForeignKey(
Warehouse,
@@ -1028,9 +1044,13 @@ class Container(
blank=True,
null=True,
help_text=_("Warehouse that owns the container"),
+ on_delete=models.SET_NULL,
)
container_type = models.ForeignKey(
- ContainerType, verbose_name=_("Container type"), related_name="containers"
+ ContainerType,
+ verbose_name=_("Container type"),
+ related_name="containers",
+ on_delete=models.PROTECT,
)
reference = models.TextField(_("Container ref."))
comment = models.TextField(_("Comment"), blank=True, default="")
@@ -1868,9 +1888,14 @@ class ContainerLocalisationManager(models.Manager):
class ContainerLocalisation(models.Model):
# TODO: to be deleted....
container = models.ForeignKey(
- Container, verbose_name=_("Container"), related_name="division"
+ Container,
+ verbose_name=_("Container"),
+ related_name="division",
+ on_delete=models.CASCADE,
+ )
+ division = models.ForeignKey(
+ WarehouseDivisionLink, verbose_name=_("Division"), on_delete=models.CASCADE
)
- division = models.ForeignKey(WarehouseDivisionLink, verbose_name=_("Division"))
reference = models.CharField(_("Reference"), max_length=200, default="")
objects = ContainerLocalisationManager()
TO_BE_DELETED = True