from django.db import models # Create your models here. from django.utils import timezone from phonenumber_field.modelfields import PhoneNumberField class TimeInfoBase(models.Model): created = models.DateTimeField(default=timezone.now) last_modified = models.DateTimeField(default=timezone.now) class Meta: abstract = True def save(self, *args, **kwargs): if not kwargs.pop("skip_last_modified", False) and not hasattr(self, "skip_last_modified"): self.last_modified = timezone.now() if kwargs.get("update_fields") is not None: kwargs["update_fields"] = list({*kwargs["update_fields"], "last_modified"}) super().save(*args, **kwargs) # Create your models here. class Contact(TimeInfoBase): email = models.EmailField(max_length=128) name = models.CharField(max_length=128) contacted = models.BooleanField(default=False) phone_number = PhoneNumberField() street = models.CharField(max_length=128) zip_code = models.CharField(max_length=9) state = models.CharField(max_length=25) city = models.CharField(max_length=128)