From 05e313b83772c46f61535cf2f51ffbc517727dc5 Mon Sep 17 00:00:00 2001 From: vickytechkey Date: Tue, 18 Aug 2026 12:22:55 +0530 Subject: [PATCH] feat: add new custom heritage fields to Product model --- ...mages_product_compare_at_price_and_more.py | 63 +++++++++++++++++++ api/models.py | 12 ++++ 2 files changed, 75 insertions(+) create mode 100644 api/migrations/0005_product_additional_images_product_compare_at_price_and_more.py diff --git a/api/migrations/0005_product_additional_images_product_compare_at_price_and_more.py b/api/migrations/0005_product_additional_images_product_compare_at_price_and_more.py new file mode 100644 index 0000000..24efabd --- /dev/null +++ b/api/migrations/0005_product_additional_images_product_compare_at_price_and_more.py @@ -0,0 +1,63 @@ +# Generated by Django 6.1 on 2026-08-18 06:43 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('api', '0004_category_supplierprofile_business_type_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='product', + name='additional_images', + field=models.JSONField(blank=True, default=list, null=True), + ), + migrations.AddField( + model_name='product', + name='compare_at_price', + field=models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True), + ), + migrations.AddField( + model_name='product', + name='description', + field=models.TextField(blank=True, null=True), + ), + migrations.AddField( + model_name='product', + name='is_gi_tagged', + field=models.BooleanField(default=False), + ), + migrations.AddField( + model_name='product', + name='package_weight', + field=models.FloatField(default=1.0), + ), + migrations.AddField( + model_name='product', + name='processing_days', + field=models.IntegerField(default=3), + ), + migrations.AddField( + model_name='product', + name='shipping_profile', + field=models.CharField(default='Standard Fragile', max_length=100), + ), + migrations.AddField( + model_name='product', + name='track_inventory', + field=models.BooleanField(default=True), + ), + migrations.AddField( + model_name='product', + name='video_url', + field=models.URLField(blank=True, null=True), + ), + migrations.AddField( + model_name='product', + name='view_360_url', + field=models.URLField(blank=True, null=True), + ), + ] diff --git a/api/models.py b/api/models.py index 415cdc3..cd84265 100644 --- a/api/models.py +++ b/api/models.py @@ -111,6 +111,18 @@ class Product(models.Model): image = models.TextField(blank=True, null=True) # Can store URL or base64 status = models.CharField(max_length=50, default='pending') is_active = models.BooleanField(default=True) + + # New heritage fields from UI designs + description = models.TextField(blank=True, null=True) + is_gi_tagged = models.BooleanField(default=False) + additional_images = models.JSONField(default=list, blank=True, null=True) + video_url = models.URLField(blank=True, null=True) + view_360_url = models.URLField(blank=True, null=True) + compare_at_price = models.DecimalField(max_digits=10, decimal_places=2, blank=True, null=True) + track_inventory = models.BooleanField(default=True) + shipping_profile = models.CharField(max_length=100, default='Standard Fragile') + processing_days = models.IntegerField(default=3) + package_weight = models.FloatField(default=1.0) def __str__(self): return self.title