aboutsummaryrefslogtreecommitdiffstats
path: root/ctrack/organisations/models.py
blob: 6bd1249b9e3496efbf931953f4b1cf149623636d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from django.db import models

# Create your models here.
from django.urls import reverse
from slugify import slugify


class AddressType(models.Model):
    descriptor = models.CharField(max_length=50)


class Organisation(models.Model):
    name = models.CharField(max_length=255, blank=False)

    def get_absolute_url(self):
        return reverse("organisations:detail", kwargs={"name": self.slugify_name()})

    def slugify_name(self):
        return slugify(self.name)


class Address(models.Model):
    organisation = models.ForeignKey(
        Organisation, related_name="addresses", on_delete=models.CASCADE, blank=False
    )
    type = models.ForeignKey(AddressType, on_delete=models.CASCADE, default=1)
    line1 = models.CharField(max_length=255)
    line2 = models.CharField(max_length=255)
    line3 = models.CharField(max_length=255)
    city = models.CharField(max_length=100)
    county = models.CharField(max_length=100)
    postcode = models.CharField(max_length=10)
    country = models.CharField(max_length=100)
    other_details = models.CharField(max_length=255)