add: order model, order create api, order create serializer, order item model

This commit is contained in:
behruz-dev
2025-08-29 16:34:15 +05:00
parent 6aa82a74e7
commit 4f45b97aaa
11 changed files with 192 additions and 3 deletions

View File

@@ -0,0 +1,45 @@
# Generated by Django 5.2 on 2025-08-29 16:13
import django.db.models.deletion
import uuid
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='Order',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)),
('created_at', models.DateTimeField(auto_now_add=True)),
('total_price', models.PositiveBigIntegerField(default=0)),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='orders', to=settings.AUTH_USER_MODEL)),
],
options={
'verbose_name': 'Buyurtma',
'verbose_name_plural': 'Buyurtmalar',
},
),
migrations.CreateModel(
name='OrderItem',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)),
('created_at', models.DateTimeField(auto_now_add=True)),
('quantity', models.PositiveIntegerField()),
('price', models.PositiveBigIntegerField()),
('order', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='items', to='orders.order')),
],
options={
'verbose_name': 'Buyurtma elementi',
'verbose_name_plural': 'Buyurtma elementlari',
},
),
]

View File

@@ -0,0 +1,20 @@
# Generated by Django 5.2 on 2025-08-29 16:17
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('orders', '0001_initial'),
('products', '0002_category_name_ru_category_name_uz_and_more'),
]
operations = [
migrations.AddField(
model_name='orderitem',
name='product',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='items', to='products.product'),
),
]