order payment model qoshildi va plan serializer error togirlandi

This commit is contained in:
behruz-dev
2025-12-01 16:10:01 +05:00
parent bbb0e8cf16
commit abc1ab5850
5 changed files with 51 additions and 3 deletions

View File

@@ -27,7 +27,7 @@ class PlanListSerializer(serializers.ModelSerializer):
def get_user(self, obj):
return {
'id': obj.user.id,
'first_name': obj.user_first_name,
'first_name': obj.user.first_name,
'last_name': obj.user.last_name,
}

View File

@@ -0,0 +1,27 @@
# Generated by Django 5.2 on 2025-12-01 11:07
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('orders', '0004_order_file'),
]
operations = [
migrations.CreateModel(
name='Payment',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('price', models.DecimalField(decimal_places=2, max_digits=15)),
('order', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='payments', to='orders.order')),
],
options={
'abstract': False,
},
),
]

View File

@@ -1,3 +1,4 @@
from .product import *
from .order_item import *
from .order import *
from .order import *
from .payment import *

View File

@@ -0,0 +1,16 @@
# django
from django.db import models
# shared
from core.apps.shared.models import BaseModel
# orders
from core.apps.orders.models import Order
class Payment(BaseModel):
order = models.ForeignKey(Order, on_delete=models.CASCADE, related_name='payments')
price = models.DecimalField(max_digits=15, decimal_places=2)
def __str__(self):
return self.price

View File

@@ -8,7 +8,7 @@ from rest_framework import generics, permissions
from drf_yasg.utils import swagger_auto_schema
# orders
from core.apps.orders.models import Order, OrderItem
from core.apps.orders.models import Order, Payment
from core.apps.orders.serializers.order import OrderCreateSerializer, OrderListSerializer, OrderUpdateSerializer
# shared
from core.apps.shared.utils.response_mixin import ResponseMixin
@@ -78,6 +78,10 @@ class OrderUpdateApiView(generics.GenericAPIView, ResponseMixin):
if serializer.is_valid():
paid_price = serializer.validated_data.get('paid_price')
obj.paid_price = paid_price
Payment.objects.create(
order=obj,
price=paid_price
)
obj.save()
return self.success_response(
data=OrderListSerializer(obj).data,