| |
| 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') |
| |
| |
| 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) |
| |
| |
| is_email_verified = models.BooleanField(default=True) |
| email_otp = models.CharField(max_length=6, blank=True, null=True) |
|
|
| |
| is_onboarded = models.BooleanField(default=False) |
| last_updated = models.DateTimeField(auto_now=True) |
|
|
| def __str__(self): |
| return f"Profile for {self.user.email}" |