order payment model qoshildi va plan serializer error togirlandi
This commit is contained in:
@@ -27,7 +27,7 @@ class PlanListSerializer(serializers.ModelSerializer):
|
|||||||
def get_user(self, obj):
|
def get_user(self, obj):
|
||||||
return {
|
return {
|
||||||
'id': obj.user.id,
|
'id': obj.user.id,
|
||||||
'first_name': obj.user_first_name,
|
'first_name': obj.user.first_name,
|
||||||
'last_name': obj.user.last_name,
|
'last_name': obj.user.last_name,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
27
core/apps/orders/migrations/0005_payment.py
Normal file
27
core/apps/orders/migrations/0005_payment.py
Normal 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,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
from .product import *
|
from .product import *
|
||||||
from .order_item import *
|
from .order_item import *
|
||||||
from .order import *
|
from .order import *
|
||||||
|
from .payment import *
|
||||||
16
core/apps/orders/models/payment.py
Normal file
16
core/apps/orders/models/payment.py
Normal 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
|
||||||
|
|
||||||
@@ -8,7 +8,7 @@ from rest_framework import generics, permissions
|
|||||||
from drf_yasg.utils import swagger_auto_schema
|
from drf_yasg.utils import swagger_auto_schema
|
||||||
|
|
||||||
# orders
|
# 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
|
from core.apps.orders.serializers.order import OrderCreateSerializer, OrderListSerializer, OrderUpdateSerializer
|
||||||
# shared
|
# shared
|
||||||
from core.apps.shared.utils.response_mixin import ResponseMixin
|
from core.apps.shared.utils.response_mixin import ResponseMixin
|
||||||
@@ -78,6 +78,10 @@ class OrderUpdateApiView(generics.GenericAPIView, ResponseMixin):
|
|||||||
if serializer.is_valid():
|
if serializer.is_valid():
|
||||||
paid_price = serializer.validated_data.get('paid_price')
|
paid_price = serializer.validated_data.get('paid_price')
|
||||||
obj.paid_price = paid_price
|
obj.paid_price = paid_price
|
||||||
|
Payment.objects.create(
|
||||||
|
order=obj,
|
||||||
|
price=paid_price
|
||||||
|
)
|
||||||
obj.save()
|
obj.save()
|
||||||
return self.success_response(
|
return self.success_response(
|
||||||
data=OrderListSerializer(obj).data,
|
data=OrderListSerializer(obj).data,
|
||||||
|
|||||||
Reference in New Issue
Block a user