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):
|
||||
return {
|
||||
'id': obj.user.id,
|
||||
'first_name': obj.user_first_name,
|
||||
'first_name': obj.user.first_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 .order_item 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
|
||||
|
||||
# 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,
|
||||
|
||||
Reference in New Issue
Block a user