fiux
This commit is contained in:
@@ -11,7 +11,7 @@ class PartyAmountInline(admin.StackedInline):
|
|||||||
|
|
||||||
@admin.register(Party)
|
@admin.register(Party)
|
||||||
class PartyAdmin(admin.ModelAdmin):
|
class PartyAdmin(admin.ModelAdmin):
|
||||||
list_display = ['mediator', 'delivery_date', 'payment_date', 'is_deleted']
|
list_display = ['number','mediator', 'delivery_date', 'payment_date', 'is_deleted']
|
||||||
inlines = [PartyAmountInline]
|
inlines = [PartyAmountInline]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -7,3 +7,4 @@ class OrdersConfig(AppConfig):
|
|||||||
|
|
||||||
def ready(self):
|
def ready(self):
|
||||||
from . import admin
|
from . import admin
|
||||||
|
from . import signals
|
||||||
18
core/apps/orders/migrations/0022_alter_party_number.py
Normal file
18
core/apps/orders/migrations/0022_alter_party_number.py
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# Generated by Django 5.2.4 on 2025-08-23 17:55
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('orders', '0021_party_currency'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='party',
|
||||||
|
name='number',
|
||||||
|
field=models.PositiveIntegerField(default=0),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -27,7 +27,7 @@ class Party(BaseModel):
|
|||||||
('REJECTED', 'rad etilgan'),
|
('REJECTED', 'rad etilgan'),
|
||||||
)
|
)
|
||||||
|
|
||||||
number = models.PositiveIntegerField(default=1)
|
number = models.PositiveIntegerField(default=0)
|
||||||
orders = models.ManyToManyField(Order, related_name='parties', null=True, blank=True)
|
orders = models.ManyToManyField(Order, related_name='parties', null=True, blank=True)
|
||||||
mediator = models.ForeignKey(User, on_delete=models.CASCADE, related_name='parties')
|
mediator = models.ForeignKey(User, on_delete=models.CASCADE, related_name='parties')
|
||||||
# dates
|
# dates
|
||||||
@@ -59,15 +59,6 @@ class Party(BaseModel):
|
|||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f'P - {self.number}'
|
return f'P - {self.number}'
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
|
||||||
if not self.pk:
|
|
||||||
last_party = Party.objects.order_by('number').last()
|
|
||||||
if last_party:
|
|
||||||
self.number = last_party.number + 1
|
|
||||||
else:
|
|
||||||
self.number = 1
|
|
||||||
return super().save(*args, **kwargs)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = 'Partiya'
|
verbose_name = 'Partiya'
|
||||||
verbose_name_plural = 'Partiyalar'
|
verbose_name_plural = 'Partiyalar'
|
||||||
|
|||||||
1
core/apps/orders/signals/__init__.py
Normal file
1
core/apps/orders/signals/__init__.py
Normal file
@@ -0,0 +1 @@
|
|||||||
|
from .party import *
|
||||||
12
core/apps/orders/signals/party.py
Normal file
12
core/apps/orders/signals/party.py
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
from django.db.models.signals import post_save
|
||||||
|
from django.dispatch import receiver
|
||||||
|
|
||||||
|
from core.apps.orders.models import Party
|
||||||
|
|
||||||
|
|
||||||
|
@receiver(post_save, sender=Party)
|
||||||
|
def set_party_number(sender, instance, created, **kwargs):
|
||||||
|
if created:
|
||||||
|
last_party = Party.objects.order_by('number').last()
|
||||||
|
instance.number = (last_party.number + 1) if last_party else 1
|
||||||
|
instance.save(update_fields=["number"])
|
||||||
Reference in New Issue
Block a user