Initial commit
This commit is contained in:
@@ -1,10 +1,31 @@
|
||||
from django.db import models
|
||||
from .district import District
|
||||
from django.utils import timezone
|
||||
|
||||
class Device(models.Model):
|
||||
address = models.CharField(max_length=100, unique=True)
|
||||
district = models.ForeignKey(District, on_delete=models.PROTECT)
|
||||
due_date = models.DateField(null=True, blank=True)
|
||||
amount = models.IntegerField(null=True, blank=True)
|
||||
is_paid = models.BooleanField(default=False)
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
|
||||
def __str__(self):
|
||||
return self.address
|
||||
return self.address
|
||||
|
||||
@property
|
||||
def days_until_due(self):
|
||||
"""Calculate days remaining until payment is due"""
|
||||
if not self.due_date:
|
||||
return None
|
||||
today = timezone.now().date()
|
||||
delta = self.due_date - today
|
||||
return delta.days
|
||||
|
||||
@property
|
||||
def is_overdue(self):
|
||||
"""Check if payment is overdue"""
|
||||
if not self.due_date or self.is_paid:
|
||||
return False
|
||||
today = timezone.now().date()
|
||||
return self.due_date < today
|
||||
Reference in New Issue
Block a user