add: add new field to order model
This commit is contained in:
18
core/apps/orders/migrations/0003_order_order_number.py
Normal file
18
core/apps/orders/migrations/0003_order_order_number.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 5.2 on 2025-08-27 14:19
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0002_order_location_en_order_location_ru_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='order',
|
||||
name='order_number',
|
||||
field=models.PositiveBigIntegerField(default=1),
|
||||
),
|
||||
]
|
||||
@@ -12,6 +12,7 @@ class Order(BaseModel):
|
||||
('Yetkazib berilgan', 'Yetkazib berilgan')
|
||||
)
|
||||
|
||||
order_number = models.PositiveBigIntegerField(default=1)
|
||||
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='orders')
|
||||
name = models.CharField(max_length=200)
|
||||
date = models.DateField()
|
||||
@@ -20,10 +21,21 @@ class Order(BaseModel):
|
||||
total_price = models.PositiveBigIntegerField()
|
||||
is_paid = models.BooleanField(default=False)
|
||||
location = models.CharField(max_length=200)
|
||||
location_to = models.CharField(max_length=200, null=True)
|
||||
location_from = models.CharField(max_length=200, null=True)
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.user} user order {self.name}'
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.order_number:
|
||||
last_order = Order.objects.all().order_by('-order_number').first()
|
||||
if last_order:
|
||||
self.order_number = last_order.order_number + 1
|
||||
else:
|
||||
self.order_number = 1
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
class Meta:
|
||||
verbose_name = 'Buyurtma'
|
||||
verbose_name_plural = 'buyurtmalar'
|
||||
|
||||
@@ -7,5 +7,6 @@ class OrderListSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Order
|
||||
fields = [
|
||||
'id', 'name', 'date', 'status', 'size', 'total_price', 'is_paid', 'location'
|
||||
'id', 'name', 'date', 'status', 'size', 'total_price', 'is_paid', 'location', 'location_to',
|
||||
'location_from'
|
||||
]
|
||||
@@ -6,5 +6,5 @@ from core.apps.orders.models import Order
|
||||
@translator.register(Order)
|
||||
class OrderTranslation(translator.TranslationOptions):
|
||||
fields = [
|
||||
'name', 'location'
|
||||
'name', 'location', 'location_to', 'location_from'
|
||||
]
|
||||
Reference in New Issue
Block a user