30 lines
No EOL
1.2 KiB
Python
30 lines
No EOL
1.2 KiB
Python
import uuid
|
|
|
|
from django.db import models
|
|
from django_softdelete.models import SoftDeleteModel, SoftDeleteManager
|
|
from inventory.models import Item
|
|
from tickets.models import IssueThread
|
|
|
|
class Shipment(SoftDeleteModel):
|
|
id = models.AutoField(primary_key=True)
|
|
public_secret = models.UUIDField(default = uuid.uuid4)
|
|
|
|
# Shipping address fields
|
|
recipient_name = models.CharField(max_length=255, blank=True, default='')
|
|
address_supplements = models.TextField(max_length=255, blank=True, default='')
|
|
street_address = models.CharField(max_length=255, blank=True, default='')
|
|
city = models.CharField(max_length=100, blank=True, default='')
|
|
state_province = models.CharField(max_length=100, blank=True, default='')
|
|
postal_code = models.CharField(max_length=20, blank=True, default='')
|
|
country = models.CharField(max_length=100, blank=True, default='')
|
|
|
|
related_items = models.ManyToManyField(Item)
|
|
related_tickets = models.ManyToManyField(IssueThread)
|
|
|
|
created_at = models.DateTimeField(null=True, auto_now_add=True)
|
|
updated_at = models.DateTimeField(blank=True, null=True)
|
|
|
|
all_objects = models.Manager()
|
|
|
|
def __str__(self):
|
|
return '[' + str(self.id) + ']' + self.description |