deedrop1140's picture
Update mainapp/models.py
9d85bbd verified
from django.contrib.auth.models import AbstractUser
from django.db import models
class User(AbstractUser):
email = models.EmailField(unique=True)
fullname = models.CharField(max_length=120)
phone = models.CharField(max_length=32, blank=True)
address = models.CharField(max_length=256, blank=True)
is_admin = models.BooleanField(default=False)
created_at = models.DateTimeField(auto_now_add=True)
USERNAME_FIELD = "email"
REQUIRED_FIELDS = [] # ✅ MUST be empty
def __str__(self):
return self.email
class OTP(models.Model):
email = models.EmailField()
code = models.CharField(max_length=8)
created_at = models.DateTimeField(auto_now_add=True)
expires_at = models.DateTimeField()
def __str__(self):
return f"{self.email} - {self.code}"
class ChatMessage(models.Model):
user = models.ForeignKey(User, null=True, on_delete=models.SET_NULL)
username = models.CharField(max_length=120)
address = models.CharField(max_length=256, blank=True)
order_id = models.CharField(max_length=64, null=True, blank=True)
message = models.TextField()
category = models.CharField(max_length=120)
sentiment = models.CharField(max_length=32)
status = models.CharField(max_length=32, default="Pending")
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.message[:40]