fiux
This commit is contained in:
@@ -11,7 +11,7 @@ class PartyAmountInline(admin.StackedInline):
|
||||
|
||||
@admin.register(Party)
|
||||
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]
|
||||
|
||||
|
||||
|
||||
@@ -7,3 +7,4 @@ class OrdersConfig(AppConfig):
|
||||
|
||||
def ready(self):
|
||||
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'),
|
||||
)
|
||||
|
||||
number = models.PositiveIntegerField(default=1)
|
||||
number = models.PositiveIntegerField(default=0)
|
||||
orders = models.ManyToManyField(Order, related_name='parties', null=True, blank=True)
|
||||
mediator = models.ForeignKey(User, on_delete=models.CASCADE, related_name='parties')
|
||||
# dates
|
||||
@@ -59,15 +59,6 @@ class Party(BaseModel):
|
||||
def __str__(self):
|
||||
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:
|
||||
verbose_name = 'Partiya'
|
||||
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