customer_pickup_title and customer_pickup_description added

This commit is contained in:
Parsa Nazer
2026-02-24 16:49:10 +03:30
parent 586f838444
commit a40b371b27
3 changed files with 40 additions and 1 deletions
@@ -0,0 +1,23 @@
# Generated by Django 5.1.2 on 2026-02-24 13:14
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('account', '0034_add_telegram_chat_id_to_shop'),
]
operations = [
migrations.AddField(
model_name='shopmodel',
name='customer_pickup_description',
field=models.CharField(blank=True, max_length=500, null=True, verbose_name='توضیحات دریافت حضوری'),
),
migrations.AddField(
model_name='shopmodel',
name='customer_pickup_title',
field=models.CharField(blank=True, max_length=40, null=True, verbose_name='عنوان دریافت حضوری'),
),
]
+4
View File
@@ -145,6 +145,10 @@ class ShopModel(models.Model):
commission_percent = models.DecimalField(max_digits=5, decimal_places=2, verbose_name='درصد کمیسیون')
telegram_chat_id = models.CharField(max_length=100, blank=True, null=True, verbose_name='شناسه چت تلگرام', help_text='برای ارسال خودکار فاکتورها به تلگرام')
customer_pickup_title = models.CharField(max_length=40, verbose_name='عنوان دریافت حضوری', blank=True, null=True)
customer_pickup_description = models.CharField(max_length=500, verbose_name='توضیحات دریافت حضوری', blank=True, null=True)
def __str__(self):
return f"{self.user.phone} - {self.shop_name}"
+13 -1
View File
@@ -157,6 +157,8 @@ class DynamicProductSerializer(serializers.ModelSerializer):
best_deal_price_after_discount = serializers.SerializerMethodField()
best_deal_discount = serializers.SerializerMethodField()
main_image = serializers.SerializerMethodField()
customer_pickup_title = serializers.SerializerMethodField()
customer_pickup_description = serializers.SerializerMethodField()
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
view_type = self.context.get('view_type', 'all')
@@ -174,7 +176,7 @@ class DynamicProductSerializer(serializers.ModelSerializer):
view_type = {
'list': ['id', 'name', 'rating', 'slug', 'category', 'colors', 'image', 'best_deal_price_before_discount', 'best_deal_price_after_discount', 'best_deal_discount', 'main_image'],
'slider': ['id', 'name', 'rating', 'slug', 'category', 'variants', 'colors', 'image', 'best_deal_price_before_discount', 'best_deal_price_after_discount', 'best_deal_discount', ],
'instance': ['id', 'name', 'description', 'rating', 'slug', 'meta_description', 'meta_keywords', 'meta_rating', 'category', 'related_products', 'in_pack_items', 'variants', 'colors', 'added_to_favorites', 'image'],
'instance': ['id', 'name', 'description', 'rating', 'slug', 'meta_description', 'meta_keywords', 'meta_rating', 'category', 'related_products', 'in_pack_items', 'variants', 'colors', 'added_to_favorites', 'image', 'customer_pickup_title', 'customer_pickup_description'],
'chat': ['id', 'name', 'description', 'variants', 'image']
}
@@ -203,6 +205,16 @@ class DynamicProductSerializer(serializers.ModelSerializer):
return 0
def get_customer_pickup_title(self, obj):
if obj.shop:
return obj.shop.customer_pickup_title
return None
def get_customer_pickup_description(self, obj):
if obj.shop:
return obj.shop.customer_pickup_description
return None
def get_added_to_favorites(self, obj):
from account.models import UserFavorites
request = self.context.get('request')