File size: 1,243 Bytes
dd02f5b 8853418 dd02f5b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | # backend/users/models.py
import uuid
from django.db import models
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
def __str__(self):
return self.email
class FinancialProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='profile')
# Financial Data
net_worth = models.DecimalField(max_digits=15, decimal_places=2, default=0.00)
cash_available = models.DecimalField(max_digits=15, decimal_places=2, default=0.00)
invested_amount = models.DecimalField(max_digits=15, decimal_places=2, default=0.00)
credit_used = models.DecimalField(max_digits=15, decimal_places=2, default=0.00)
credit_limit = models.DecimalField(max_digits=15, decimal_places=2, default=0.00)
# Verification Data (Mobile removed)
is_email_verified = models.BooleanField(default=True)
email_otp = models.CharField(max_length=6, blank=True, null=True)
# Onboarding status
is_onboarded = models.BooleanField(default=False)
last_updated = models.DateTimeField(auto_now=True)
def __str__(self):
return f"Profile for {self.user.email}" |