Files
2026-01-18 11:29:19 +03:30

68 lines
2.2 KiB
Python

from django.db import models
from django.conf import settings
import uuid
from django.contrib.auth.models import User
class BaseModel(models.Model):
key = models.UUIDField(default=uuid.uuid4, editable=False, unique=True)
create_date = models.DateTimeField(auto_now_add=True)
modify_date = models.DateTimeField(auto_now=True)
created_by = models.ForeignKey(
settings.AUTH_USER_MODEL,
related_name="%(class)s_createdby",
on_delete=models.CASCADE,
null=True,
blank=True,
)
modified_by = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
related_name="%(class)s_modifiedby",
null=True,
blank=True,
)
trash = models.BooleanField(default=False)
class Meta:
abstract = True
class Province(models.Model):
name = models.CharField(max_length=200, null=True)
tel_prefix = models.CharField(max_length=200, null=True)
Lat = models.FloatField(default=0)
Lng = models.FloatField(default=0)
def save(self, *args, **kwargs):
super(Province, self).save(*args, **kwargs)
class City(models.Model):
province = models.ForeignKey(
Province, on_delete=models.CASCADE, related_name="city_province", null=True
)
name = models.CharField(max_length=200, null=True)
Lat = models.FloatField(default=0)
Lng = models.FloatField(default=0)
def save(self, *args, **kwargs):
super(City, self).save(*args, **kwargs)
class UserProfile(BaseModel):
key = models.UUIDField(default=uuid.uuid4, editable=True, null=True)
user = models.ForeignKey(
User, on_delete=models.CASCADE, related_name="users", null=True
)
fullname = models.CharField(max_length=150, null=True, default="")
first_name = models.CharField(max_length=200, null=True, default="")
last_name = models.CharField(max_length=200, null=True, default="")
mobile = models.CharField(max_length=11, null=True, default="")
password = models.CharField(max_length=100, null=True)
base_order = models.BigIntegerField(null=True)
def save(self, *args, **kwargs):
self.fullname = self.first_name + " " + self.last_name
super(UserProfile, self).save(*args, **kwargs)