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')
|
('Yetkazib berilgan', 'Yetkazib berilgan')
|
||||||
)
|
)
|
||||||
|
|
||||||
|
order_number = models.PositiveBigIntegerField(default=1)
|
||||||
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='orders')
|
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='orders')
|
||||||
name = models.CharField(max_length=200)
|
name = models.CharField(max_length=200)
|
||||||
date = models.DateField()
|
date = models.DateField()
|
||||||
@@ -20,10 +21,21 @@ class Order(BaseModel):
|
|||||||
total_price = models.PositiveBigIntegerField()
|
total_price = models.PositiveBigIntegerField()
|
||||||
is_paid = models.BooleanField(default=False)
|
is_paid = models.BooleanField(default=False)
|
||||||
location = models.CharField(max_length=200)
|
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):
|
def __str__(self):
|
||||||
return f'{self.user} user order {self.name}'
|
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:
|
class Meta:
|
||||||
verbose_name = 'Buyurtma'
|
verbose_name = 'Buyurtma'
|
||||||
verbose_name_plural = 'buyurtmalar'
|
verbose_name_plural = 'buyurtmalar'
|
||||||
|
|||||||
@@ -7,5 +7,6 @@ class OrderListSerializer(serializers.ModelSerializer):
|
|||||||
class Meta:
|
class Meta:
|
||||||
model = Order
|
model = Order
|
||||||
fields = [
|
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)
|
@translator.register(Order)
|
||||||
class OrderTranslation(translator.TranslationOptions):
|
class OrderTranslation(translator.TranslationOptions):
|
||||||
fields = [
|
fields = [
|
||||||
'name', 'location'
|
'name', 'location', 'location_to', 'location_from'
|
||||||
]
|
]
|
||||||
Reference in New Issue
Block a user