feat: add __dict__ method to models for JSON serialization
This commit is contained in:
@@ -25,6 +25,11 @@ class User(AbstractUser):
|
||||
choices = RegisterStatus.choices,
|
||||
default = RegisterStatus.CONFIRMATION_REQUIRED
|
||||
)
|
||||
def __dict__(self):
|
||||
return {
|
||||
"username": self.username,
|
||||
"fullname": self.get_full_name()
|
||||
}
|
||||
|
||||
class VerificationCode(models.Model):
|
||||
class VerificationModes(models.TextChoices):
|
||||
@@ -56,6 +61,11 @@ class Category(models.Model):
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
def __dict__(self):
|
||||
return {
|
||||
"name": self.name
|
||||
}
|
||||
|
||||
class Image(models.Model):
|
||||
name = models.CharField(max_length=200, default="")
|
||||
image = models.ImageField(upload_to='images/')
|
||||
@@ -64,6 +74,13 @@ class Image(models.Model):
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
def __dict__(self):
|
||||
return {
|
||||
"name": self.name,
|
||||
"image": self.image.url,
|
||||
"alt": self.alt
|
||||
}
|
||||
|
||||
class Product(models.Model):
|
||||
name = models.CharField(max_length=200, default="")
|
||||
description = models.TextField(default = "")
|
||||
@@ -86,6 +103,19 @@ class Product(models.Model):
|
||||
"""Retorna la cantidad de IVA"""
|
||||
return round(self.price * VAT_RATE, 2)
|
||||
|
||||
def __dict__(self):
|
||||
return {
|
||||
"name": self.name,
|
||||
"description": self.description,
|
||||
"briefdesc": self.briefdesc,
|
||||
"price": self.price,
|
||||
"stock": self.stock,
|
||||
"category": dict(self.category),
|
||||
"primary_image": self.primary_image,
|
||||
"secondary_images": [dict(secondary_image) for secondary_image in self.secondary_images],
|
||||
"creator": dict(self.creator)
|
||||
}
|
||||
|
||||
|
||||
class StockReservation(models.Model):
|
||||
STATUS_ACTIVE = "active"
|
||||
|
||||
Reference in New Issue
Block a user