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 @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