Exemple #1
0
class Customer(models.Model):
    class Meta:
        db_table = 'customer'
        default_related_name = 'customer'

    first_name = models.CharField(max_length=250, null=True, blank=True)
    last_name = models.CharField(max_length=250, null=True, blank=True)
    email = models.EmailField(max_length=250, unique=True, null=True, blank=True)
    password = models.CharField(max_length=250, null=False, blank=False)
    birthday = models.DateField(null=True, blank=True)
    phone = models.CharField(max_length=12, unique=True, null=False, blank=False)
    gender = models.CharField(
        max_length=6,
        choices=CustomerGender.choices,
        default=CustomerGender.Female
    )
    customer_shipment = models.ForeignKey(
        CustomerShipment,
        on_delete=models.SET_NULL,
        null=True,
        blank=True
    )
    create_at = models.DateTimeField(default=get_today_datetime(), null=True, blank=True)
    update_at = models.DateTimeField(default=None, null=True, blank=True)
    objects = CustomerManager()
Exemple #2
0
class Order(models.Model):
    class Meta:
        db_table = 'order'
        default_related_name = 'order'

    shipment_status = models.CharField(
        max_length=8,
        choices=OrderShipmentStatus.choices,
        default=OrderShipmentStatus.Not_Ship
    )
    payment_status = models.CharField(
        max_length=7,
        choices=OrderPaymentStatus.choices,
        default=OrderPaymentStatus.Not_Pay
    )
    customer = models.ForeignKey(
        Customer,
        on_delete=models.SET_NULL,
        null=True,
        blank=True
    )
    order_product = models.ManyToManyField(
        OrderProduct,
        through='OrderOrderProduct',

    ),
    order_shipment = models.ForeignKey(
        OrderShipment,
        on_delete=models.SET_NULL,
        null=True,
        blank=True
    )
    create_at = models.DateTimeField(default=get_today_datetime(), null=True, blank=True)
    update_at = models.DateTimeField(default=None, null=True, blank=True)
    objects = OrderManager()
Exemple #3
0
class OrderShipment(models.Model):
    class Meta:
        db_table = 'order_shipment'
        default_related_name = 'order_shipment'

    first_name = models.CharField(max_length=250, null=True, blank=True)
    last_name = models.CharField(max_length=250, null=True, blank=True)
    address = models.CharField(max_length=250, null=True, blank=True)
    phone = models.CharField(max_length=12, null=True, blank=True)
    country = models.CharField(max_length=30,
                               choices=OrderCountry.choices,
                               null=True,
                               blank=True)
    city = models.CharField(max_length=30,
                            choices=OrderCity.choices,
                            null=True,
                            blank=True)
    district = models.CharField(max_length=30,
                                choices=OrderDistrict.choices,
                                null=True,
                                blank=True)
    create_at = models.DateTimeField(default=get_today_datetime(),
                                     null=True,
                                     blank=True)
    update_at = models.DateTimeField(default=None, null=True, blank=True)
    objects = OrderShipmentManager()
class ProductAttributeValue(models.Model):
    class Meta:
        db_table = 'product_attribute_value'
        default_related_name = 'product_attribute_value'

    product = models.ForeignKey(Product,
                                on_delete=models.SET_NULL,
                                null=True,
                                blank=True)
    product_attribute = models.ForeignKey(ProductAttribute,
                                          on_delete=models.SET_NULL,
                                          null=True,
                                          blank=True)
    product_variant = models.ForeignKey(ProductVariant,
                                        on_delete=models.SET_NULL,
                                        null=True,
                                        blank=True)
    product_variant_value = models.ForeignKey(ProductVariantValue,
                                              on_delete=models.SET_NULL,
                                              null=True,
                                              blank=True)
    create_at = models.DateTimeField(default=get_today_datetime(),
                                     null=True,
                                     blank=True)
    update_at = models.DateTimeField(default=None, null=True, blank=True)
    objects = ProductAttributeValueManager()
Exemple #5
0
class Tag(models.Model):
    class Meta:
        db_table = 'tag'
        default_related_name = 'tag'

    name = models.CharField(max_length=250, null=False, blank=False)
    slug = models.CharField(max_length=250, unique=True, null=False, blank=False)
    create_at = models.DateTimeField(default=get_today_datetime(), null=True, blank=True)
    update_at = models.DateTimeField(default=None, null=True, blank=True)
    objects = TagManager()
Exemple #6
0
class ProductImage(models.Model):
    class Meta:
        db_table = 'product_image'
        default_related_name = 'product_image'

    slug = models.CharField(max_length=250, null=False, blank=False)
    default = models.BooleanField(default=True)
    product = models.ForeignKey(Product,
                                on_delete=models.SET_NULL,
                                null=True,
                                blank=True)
    create_at = models.DateTimeField(default=get_today_datetime(),
                                     null=True,
                                     blank=True)
    update_at = models.DateTimeField(default=None, null=True, blank=True)
Exemple #7
0
class ProductVariant(models.Model):
    class Meta:
        db_table = 'product_variant'
        default_related_name = 'product_variant'

    name = models.CharField(max_length=250, choices=ProductVariantName.choices)
    product = models.ForeignKey(Product,
                                on_delete=models.SET_NULL,
                                null=True,
                                blank=True)
    create_at = models.DateTimeField(default=get_today_datetime(),
                                     null=True,
                                     blank=True)
    update_at = models.DateTimeField(default=None, null=True, blank=True)
    objects = ProductVariantManager()
Exemple #8
0
class ProductAttribute(models.Model):
    class Meta:
        db_table = 'product_attribute'
        default_related_name = 'product_attribute'

    name = models.CharField(max_length=250, null=False, blank=False)
    primary_price = models.FloatField(max_length=11, null=True, blank=True)
    sale_price = models.FloatField(max_length=11, null=True, blank=True)
    quantity = models.IntegerField(null=False, blank=False)
    product = models.ForeignKey(
        Product,
        on_delete=models.SET_NULL,
        null=True,
        blank=True
    )
    create_at = models.DateTimeField(default=get_today_datetime(), null=True, blank=True)
    update_at = models.DateTimeField(default=None, null=True, blank=True)
    objects = ProductAttributeManager()
Exemple #9
0
class Discount(models.Model):
    class Meta:
        db_table = 'discount'
        default_related_name = 'discount'

    code = models.CharField(max_length=150, null=False, blank=False)
    type = models.CharField(max_length=9,
                            choices=DiscountType.choices,
                            default=DiscountType.Percent)
    rate = models.FloatField(max_length=11, null=True, blank=True)
    is_active = models.BooleanField(default=True)
    apply_date = models.DateTimeField(null=False, blank=False)
    expiry_date = models.DateTimeField(default=None)
    create_at = models.DateTimeField(default=get_today_datetime(),
                                     null=True,
                                     blank=True)
    update_at = models.DateTimeField(default=None, null=True, blank=True)
    objects = DiscountManager()
Exemple #10
0
class Account(AbstractUser):
    class Meta:
        db_table = 'account'
        default_related_name = 'account'

    username = models.CharField(max_length=50,
                                unique=True,
                                null=False,
                                blank=False)
    password = models.CharField(max_length=250, null=False, blank=False)
    email = models.EmailField(max_length=250,
                              unique=True,
                              null=False,
                              blank=False)
    create_at = models.DateTimeField(default=get_today_datetime(),
                                     null=True,
                                     blank=True)
    update_at = models.DateTimeField(default=None, null=True, blank=True)
    objects = AccountManager()
Exemple #11
0
class Cart(models.Model):
    class Meta:
        db_table = 'cart'
        default_related_name = 'cart'

    customer = models.ForeignKey(Customer,
                                 on_delete=models.SET_NULL,
                                 null=True,
                                 blank=True)
    product = models.ForeignKey(Product,
                                on_delete=models.SET_NULL,
                                null=True,
                                blank=True)
    quantity = models.IntegerField(null=False, blank=False)
    create_at = models.DateTimeField(default=get_today_datetime(),
                                     null=True,
                                     blank=True)
    update_at = models.DateTimeField(default=None, null=True, blank=True)
    objects = CartManager()
Exemple #12
0
class Product(models.Model):
    class Meta:
        db_table = 'product'
        default_related_name = 'product'

    title = models.CharField(max_length=250, null=False, blank=False)
    content = models.CharField(max_length=1000, null=False, blank=False)
    slug = models.CharField(max_length=250,
                            unique=True,
                            null=False,
                            blank=False)
    tag = models.ManyToManyField(Tag, through='ProductTag')
    collection = models.ForeignKey(Collection,
                                   on_delete=models.SET_NULL,
                                   null=True,
                                   blank=True)
    create_at = models.DateTimeField(default=get_today_datetime(),
                                     null=True,
                                     blank=True)
    update_at = models.DateTimeField(default=None, null=True, blank=True)
    objects = ProductManager()
class ProductVariantValue(models.Model):
    class Meta:
        db_table = 'product_variant_value'
        default_related_name = 'product_variant_value'

    name = models.CharField(max_length=250, null=False, blank=False)
    product = models.ForeignKey(Product,
                                on_delete=models.SET_NULL,
                                null=True,
                                blank=True)
    product_image = models.ForeignKey(ProductImage,
                                      on_delete=models.SET_NULL,
                                      null=True,
                                      blank=True)
    product_vartiant = models.ForeignKey(ProductVariant,
                                         on_delete=models.SET_NULL,
                                         null=True,
                                         blank=True)
    create_at = models.DateTimeField(default=get_today_datetime(),
                                     null=True,
                                     blank=True)
    update_at = models.DateTimeField(default=None, null=True, blank=True)
    objects = ProductVariantValueManager()
Exemple #14
0
 def update_collection_by_id(self, data, id):
     return self.get_queryset().filter(
         id=id).update(**data, update_at=get_today_datetime())
Exemple #15
0
 def update_customer_shipment_by_id(self, data, id):
     return self.get_queryset().filter(
         id=id).update(**data, update_at=get_today_datetime())