fix my error

This commit is contained in:
behruz-dev
2025-08-22 11:14:55 +05:00
parent 1ec9d281b4
commit 20d7c396cf
6 changed files with 54 additions and 6 deletions

View File

@@ -37,7 +37,7 @@ class PartyFilter(django_filters.FilterSet):
class Meta:
model = Party
fields = [
'status', 'payment_status'
]
def filter_by_delivery_date(self, queryset, name, value):
@@ -99,4 +99,30 @@ class PartyFilter(django_filters.FilterSet):
return queryset.filter(payment_date__range=(start_year, end_year))
return queryset
def filter_by_order_date(self, queryset, name, value):
today = now().date()
if value == 'today':
return queryset.filter(order_date=today)
elif value == 'last_week':
start_date = today - timedelta(days=today.weekday() + 7)
end_date = start_date + timedelta(days=6)
return queryset.filter(order_date__range=(start_date, end_date))
elif value == 'last_month':
if today.month == 1:
last_month_year = today.year - 1
last_month = 12
else:
last_month_year = today.year
last_month = today.moth - 1
start_last_month = today.replace(year=last_month_year, month=last_month, day=1)
days_in_last_month = monthrange(last_month_year, last_month)[1]
end_last_month = start_last_month.replace(day=days_in_last_month)
return queryset.filter(order_date__range=(start_last_month, end_last_month))
elif value == 'last_year':
start_year = today.replace(year=today.year - 1, month=1, day=1)
end_year = today.replace(year=today.year - 1, month=12, day=31)
return queryset.filter(order_date__range=(start_year, end_year))
return queryset

View File

@@ -0,0 +1,22 @@
# Generated by Django 5.2.4 on 2025-08-22 11:14
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('orders', '0015_rename_qqs_price_party_qqs_alter_order_date'),
]
operations = [
migrations.RemoveField(
model_name='party',
name='qqs',
),
migrations.AddField(
model_name='order',
name='qqs',
field=models.PositiveBigIntegerField(blank=True, default=0, null=True),
),
]

View File

@@ -45,6 +45,7 @@ class Order(BaseModel):
total_price = models.PositiveBigIntegerField(default=0, null=True, blank=True)
qqs_price = models.PositiveBigIntegerField(default=0, null=True, blank=True)
amount = models.PositiveBigIntegerField(default=0, null=True, blank=True)
qqs = models.PositiveBigIntegerField(default=0, null=True, blank=True)
def __str__(self):
return f"{self.product} {self.unity} quantity order"

View File

@@ -45,7 +45,6 @@ class Party(BaseModel):
)
audit_comment = models.TextField(null=True, blank=True)
discount = models.PositiveBigIntegerField(default=0, null=True, blank=True)
qqs = models.PositiveBigIntegerField(default=0, null=True, blank=True)
def __str__(self):
return str(self.number)

View File

@@ -130,6 +130,7 @@ class MultipleOrderAddSerializer(serializers.Serializer):
amount = serializers.IntegerField()
total_price = serializers.IntegerField(required=False)
qqs_price = serializers.IntegerField(required=False)
qqs = serializers.IntegerField(required=False)
def validate(self, data):
product = Product.objects.filter(id=data['product_id']).first()

View File

@@ -18,7 +18,6 @@ class PartyCreateSerializer(serializers.Serializer):
choices=[('CHECKED', 'tekshirildi'),('PROCESS', 'jarayonda')], required=False
)
audit_comment = serializers.CharField(required=False)
qqs = serializers.IntegerField(required=False)
def validate(self, data):
user = User.objects.filter(id=data['mediator_id']).first()
@@ -47,6 +46,7 @@ class PartyCreateSerializer(serializers.Serializer):
employee=self.context.get('user'),
qqs_price=resource.get('qqs_price'),
total_price=resource.get('total_price'),
qqs=resource.get('qqs'),
))
total_price += resource.get('amount')
created_orders = Order.objects.bulk_create(orders)
@@ -58,7 +58,6 @@ class PartyCreateSerializer(serializers.Serializer):
audit=validated_data.get('audit'),
audit_comment=validated_data.get('audit_comment'),
discount=validated_data.get('discount'),
qqs=validated_data.get('qqs'),
)
party.orders.add(*created_orders)
party.save()